LeetCode 173. Binary Search Tree Iterator(二叉搜索树迭代器)
来源:互联网 发布:java double类型范围 编辑:程序博客网 时间:2024/06/03 16:24
原题网址: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 { private Stack<TreeNode> stack = new Stack<>(); public BSTIterator(TreeNode root) { TreeNode current = root; while (current != null) { stack.push(current); current = current.left; } } /** @return whether we have a next smallest number */ public boolean hasNext() { return !stack.isEmpty(); } /** @return the next smallest number */ public int next() { TreeNode next = stack.pop(); TreeNode current = next.right; while (current != null) { stack.push(current); current = current.left; } return next.val; }}/** * Your BSTIterator will be called like this: * BSTIterator i = new BSTIterator(root); * while (i.hasNext()) v[f()] = i.next(); */
0 0
- LeetCode 173. Binary Search Tree Iterator(二叉搜索树迭代器)
- Leetcode Binary Search Tree Iterator 二叉搜索树迭代器
- leetcode 173. Binary Search Tree Iterator-二叉搜索树迭代|中序遍历
- 173.leetcode Binary Search Tree Iterator(medium)[二叉搜索树 栈 中序遍历]
- Leetcode 173 Binary Search Tree Iterator 二叉查找树迭代器
- [leetcode 173] Binary Search Tree Iterator-------为二叉搜索树实现迭代器功能
- LeetCode | Recover Binary Search Tree(恢复二叉搜索树)
- Binary Search Tree Iterator 二叉搜索树的迭代器
- Binary Search Tree Iterator 二叉搜索树的遍历
- [LeetCode]173.Binary Search Tree Iterator
- [leetcode] 173.Binary Search Tree Iterator
- LeetCode 173. Binary Search Tree Iterator
- Leetcode 173. Binary Search Tree Iterator
- 173. Binary Search Tree Iterator LeetCode
- [LeetCode]173. Binary Search Tree Iterator
- [LeetCode]173. Binary Search Tree Iterator
- leetcode 173. Binary Search Tree Iterator
- LeetCode *** 173. Binary Search Tree Iterator
- LeetCode 253. Meeting Rooms II
- 前端实践--JavaScript--动画(二)
- LeetCode 170. Two Sum III - Data structure design(两数和)
- LeetCode 171. Excel Sheet Column Number(Excel列号)
- LeetCode 172. Factorial Trailing Zeroes(0结尾)
- LeetCode 173. Binary Search Tree Iterator(二叉搜索树迭代器)
- LeetCode 254. Factor Combinations
- LeetCode 174. Dungeon Game(游戏)
- LeetCode 179. Largest Number(最大数)
- A slave with the same server_uuid as this slave has connected to the master
- Anaconda+Theano+Keras安装
- 前端实践--JavaScript--动画(三)
- Android Fragment 真正的完全解析(上)
- Android Fragment 真正的完全解析(下)