日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 >

LeetCode 284. 顶端迭代器

發(fā)布時間:2024/7/5 29 豆豆
生活随笔 收集整理的這篇文章主要介紹了 LeetCode 284. 顶端迭代器 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

1. 題目

給定一個迭代器類的接口,接口包含兩個方法: next() 和 hasNext()。
設(shè)計并實現(xiàn)一個支持 peek() 操作的頂端迭代器 – 其本質(zhì)就是把原本應(yīng)由 next() 方法返回的元素 peek() 出來。

示例: 假設(shè)迭代器被初始化為列表 [1,2,3]。調(diào)用 next() 返回 1,得到列表中的第一個元素。 現(xiàn)在調(diào)用 peek() 返回 2,下一個元素。在此之后調(diào)用 next() 仍然返回 2。 最后一次調(diào)用 next() 返回 3,末尾元素。在此之后調(diào)用 hasNext() 應(yīng)該返回 false。進(jìn)階: 你將如何拓展你的設(shè)計?使之變得通用化,從而適應(yīng)所有的類型,而不只是整數(shù)型?

來源:力扣(LeetCode) 鏈接:https://leetcode-cn.com/problems/peeking-iterator
著作權(quán)歸領(lǐng)扣網(wǎng)絡(luò)所有。商業(yè)轉(zhuǎn)載請聯(lián)系官方授權(quán),非商業(yè)轉(zhuǎn)載請注明出處。

2. 解題

// Below is the interface for Iterator, which is already defined for you. // **DO NOT** modify the interface for Iterator.class Iterator {struct Data;Data* data; public:Iterator(const vector<int>& nums);Iterator(const Iterator& iter);virtual ~Iterator();// Returns the next element in the iteration.int next();// Returns true if the iteration has more elements.bool hasNext() const; }; //----------------------以上不用提交----------class PeekingIterator : public Iterator {int curVal;bool end; public:PeekingIterator(const vector<int>& nums) : Iterator(nums) {end = false;if(Iterator::hasNext()){curVal = Iterator::next();}elseend = true;}int peek() {return curVal;}int next() {if(end)return -1;int ans = curVal;if(Iterator::hasNext())curVal = Iterator::next();elseend = true;return ans;}bool hasNext() const {return !end; } };

4 ms 9.9 MB

總結(jié)

以上是生活随笔為你收集整理的LeetCode 284. 顶端迭代器的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。