leetcode--Binary Search Tree Iterator
来源:互联网 发布:淘宝首页海报全屏代码 编辑:程序博客网 时间:2024/06/15 15: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, whereh is the height of the tree.
题意:给定一棵BST树。创建一个next()函数可以返回下一个最小的节点值,创建一个hasNext()函数判断是否还有下一个节点。
要求next()的时间复杂度为O(n),空间复杂度为O(h)
解法1:中序遍历二叉树,保留遍历结果。
/** * Definition for binary tree * public class TreeNode { * int val; * TreeNode left; * TreeNode right; * TreeNode(int x) { val = x; } * } */public class BSTIterator {ArrayList<TreeNode> queue = new ArrayList<TreeNode>();int cur = -1;int size = 0;public BSTIterator(TreeNode root) {if(root!=null) helper(root);size = queue.size(); }void helper(TreeNode root){if(root.left!=null) helper(root.left);queue.add(root);if(root.right!=null) helper(root.right);} /** @return whether we have a next smallest number */ public boolean hasNext() { return cur<size-1; } /** @return the next smallest number */ public int next() { cur++; return queue.get(cur).val; }}/** * 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
- MIT algorithm 笔记(视频2)
- 变量的作用域和scanf
- VMware Workstation Server服务不能启动-vmwaer共享虚拟机失败
- Android调试的一些常用命令行
- 今天心情不好。。。
- leetcode--Binary Search Tree Iterator
- JS 、ExtJS、 Jquery、 Ajax
- 好的代码
- Convolutional Neural Networks for Visual Recognition 3
- android 中ListView 的优化
- ListView已到底部和顶部的判断
- 我是十娘沉梦江,遍洒芳汀,东流少语,喜欲狂,刹时惊梦,空一场!
- 帝国ECMS6.5灵动标签汇集
- POJ 1067 && HDU 1527 取石子游戏(博弈论)