classNestedInteger { public: // Return true if this NestedInteger holds a single integer, rather than a nested list. boolisInteger()const; // Return the single integer that this NestedInteger holds, if it holds a single integer // The result is undefined if this NestedInteger holds a nested list intgetInteger()const; // Return the nested list that this NestedInteger holds, if it holds a nested list // The result is undefined if this NestedInteger holds a single integer const vector<NestedInteger> &getList()const; }; classNestedIterator { private: vector<int> res; int index = 0; public: NestedIterator(vector<NestedInteger> &nestedList) { store(nestedList); }