[leetcode]Binary Search Tree Iterator
来源:互联网 发布:淘宝双十一销量排行 编辑:程序博客网 时间:2024/04/30 09:29
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 * public class TreeNode { * int val; * TreeNode left; * TreeNode right; * TreeNode(int x) { val = x; } * } */public class BSTIterator { 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() {TreeNode p = stack.pop();int next = p.val;p = p.right;while (p != null) {stack.push(p);p = p.left;}return next; }}/** * Your BSTIterator will be called like this: * BSTIterator i = new BSTIterator(root); * while (i.hasNext()) v[f()] = 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
- 2个没有固定长度约束的控件的优先级
- 1秒后加载
- Android实现新浪微博和QQ登陆并获取用户的信息
- Apache Shiro权限框架在SpringMVC+Hibernate中的应用
- 税金计算
- [leetcode]Binary Search Tree Iterator
- 线性表之单链表
- npm install *** -g ,安装后报错“不是内部或外部命令,也不是可运行的程序”
- Qt信号-槽源码解析(一)
- VS2012+Win7网站发布详细步骤
- 【opencv学习】lucas金字塔光流算法的实现——基于opencv3.0+vs2013+windows10
- hdu 1272 小希的迷宫[kuangbin带你飞]专题五 并查集
- Getting Start #Facebook Relay文档翻译#
- linux下使用命令快速打开文件管理器