Leetcode 之 Binary Search Tree Iterator
来源:互联网 发布:vb.net do while 编辑:程序博客网 时间:2024/04/30 06:08
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.
想了半天没想出来这道题的考点,是考全局变量吗?还是考BST中序遍历是递增序列?
中序遍历了一遍直接判断竟然就A了,连测试集都木有构建,真是史上前所未有。。
再回顾一下BST吧。小的值在左子树,大的数在右子树。这样的结构很容易拿到最值,即最左边的节点是最小的,最右节点是最大值。中序遍历可以得到一个ordered list。
上代码吧~
public class BSTIterator { ArrayList<Integer> orderedList = new ArrayList<Integer>(); int index,length; public void MiddleOrder(TreeNode root){ if(root != null){ MiddleOrder(root.left); orderedList.add(root.val); MiddleOrder(root.right); } } public BSTIterator(TreeNode root) { MiddleOrder(root); index = 0; length = orderedList.size(); } /** @return whether we have a next smallest number */ public boolean hasNext() { if(index < length){ index++; return true; } return false; } /** @return the next smallest number */ public int next() { return orderedList.get(index - 1); }}
61 / 61 test cases passed.
Status: Accepted
Runtime: 404 ms
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
- [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
- POJ - 3436 ACM Computer Factory (ISAP EK Dinic)
- mongoDB——java操作mongoDB实现文件上传下载
- Mongodb-准备篇
- leetcode 63: Unique Paths II
- 我好像发现一个秘密。。
- Leetcode 之 Binary Search Tree Iterator
- 03-树1. 二分法求多项式单根
- js学习笔记(1)之document.write()方法使用总结
- 我也谈谈封装 Encapsulation
- 小程序员都来看看吧
- [c]hdoj 1174 高数题
- 【unity优化一】性能检测工具
- thinkpad e430热键显示条不显示
- 用两个栈实现队列