[leetcode] Binary Search Tree Iterator
来源:互联网 发布:柯受良心事谁人知视频 编辑:程序博客网 时间:2024/06/11 06:40
From : https://leetcode.com/problems/binary-search-tree-iterator/
Implement an iterator over a binary search tree (BST). Your iterator will be initialized with the root node of a BST.
Calling next()
will return the next smallest number in the BST.
Note: next()
and hasNext()
should run in average O(1) time and uses O(h) memory, where h is the height of the tree.
/** * Definition for binary tree * struct TreeNode { * int val; * TreeNode *left; * TreeNode *right; * TreeNode(int x) : val(x), left(NULL), right(NULL) {} * }; */class BSTIterator {public: BSTIterator(TreeNode *root) { index = root;while(index) {house.push(index);index = index->left;} } /** @return whether we have a next smallest number */ bool hasNext() { while(index) {house.push(index);index = index->left;}return !house.empty(); } /** @return the next smallest number */ int next() { int ans = house.top()->val;index = house.top()->right;house.pop();return ans; }private:stack<TreeNode *> house;TreeNode *index;};/** * Your BSTIterator will be called like this: * BSTIterator i = BSTIterator(root); * while (i.hasNext()) cout << i.next(); */
0 0
- [LeetCode] Binary Search Tree Iterator
- LeetCode Binary Search Tree Iterator
- Leetcode Binary Search Tree Iterator
- [LeetCode] Binary Search Tree Iterator
- Leetcode: Binary Search Tree Iterator
- leetcode:Binary Search Tree Iterator
- Binary Search Tree Iterator --- LeetCode
- LeetCode--Binary Search Tree Iterator
- Leetcode:Binary Search Tree Iterator
- [LeetCode]Binary Search Tree Iterator
- LeetCode: Binary Search Tree Iterator
- *LeetCode-Binary Search Tree Iterator
- [Leetcode]Binary Search Tree Iterator
- LeetCode::Binary Search Tree Iterator
- [Leetcode]Binary Search Tree Iterator
- leetcode: Binary Search Tree Iterator
- Leetcode: Binary Search Tree Iterator
- LeetCode | Binary Search Tree Iterator
- onNewIntent调用时机
- JAVA多线程断点续传下载
- 近期知识总结,包括git的使用
- vim中已有tab文件如何置换tab为空格
- Media Player控件使用
- [leetcode] Binary Search Tree Iterator
- 用户类
- MapReduce:详解Shuffle(copy,sort,merge)过程
- android 开发工具
- codevs 1028 花店橱窗布置 最小费用最大流
- 如何在Android Studio应用中导入SlindingMenu类库
- nginx 设置匿名http正向代理
- riot.js学习【八】观察者
- 从内核出发