其他分享
首页 > 其他分享> > 284. 顶端迭代器

284. 顶端迭代器

作者:互联网

 1 /*
 2  * Below is the interface for Iterator, which is already defined for you.
 3  * **DO NOT** modify the interface for Iterator.
 4  *
 5  *  class Iterator {
 6  *        struct Data;
 7  *         Data* data;
 8  *        Iterator(const vector<int>& nums);
 9  *         Iterator(const Iterator& iter);
10  *
11  *         // Returns the next element in the iteration.
12  *        int next();
13  *
14  *        // Returns true if the iteration has more elements.
15  *        bool hasNext() const;
16  *    };
17  */
18 
19 class PeekingIterator : public Iterator 
20 {
21 public:
22     PeekingIterator(const vector<int>& nums) : Iterator(nums) 
23     {
24         // Initialize any member here.
25         // **DO NOT** save a copy of nums and manipulate it directly.
26         // You should only use the Iterator interface methods.
27         
28     }
29     
30     // Returns the next element in the iteration without advancing the iterator.
31     int peek() 
32     {
33         auto temp = *this;
34         return temp.next();
35     }
36     
37     // hasNext() and next() should behave the same as in the Iterator interface.
38     // Override them if needed.
39     int next() 
40     {
41         return Iterator::next();
42     }
43     
44     bool hasNext() const 
45     {
46         return Iterator::hasNext();
47     }
48 };

 

标签:const,迭代,Iterator,nums,next,interface,hasNext,顶端,284
来源: https://www.cnblogs.com/yuhong1103/p/12704819.html