[LeetCode]Binary Search Tree Iterator
来源:互联网 发布:java ioc简书 编辑:程序博客网 时间:2024/06/15 00:42
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.
Credits:
Special thanks to @ts for adding this problem and creating all test cases.
题解:使用Stack,由于BST,中序遍历就是从小到大。
code:
public class BSTIterator {private Stack<TreeNode> stack = null;public BSTIterator(TreeNode root) {stack = new Stack<TreeNode>();while (root != null) {stack.push(root);root = root.left;}}/** @return whether we have a next smallest number */public boolean hasNext() {return !stack.isEmpty();}/** @return the next smallest number */public int next() {if(hasNext()){int ret = stack.peek().val;TreeNode cur = stack.pop();if(cur.right!=null){cur = cur.right;while(cur!=null){stack.push(cur);cur = cur.left;}}return ret;}return -1;}}
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
- python web开发框架django安装和测试
- SQLite优化方法
- 安卓实现播放本地是视频
- java Io流基本概念
- html简单遮罩
- [LeetCode]Binary Search Tree Iterator
- HCatalog输入输出接口
- 关于==比较的个人学习心得
- java IO学习
- ios编程--AVCapture编程理解
- ubuntu14.04 flash安装
- FMDB数据库升级增加表字段
- 如何正常启动plsql
- UVA 1025 A Spy in the Metro