LeetCode *** 173. Binary Search Tree Iterator
来源:互联网 发布:河南雪城软件 编辑:程序博客网 时间:2024/06/01 16:04
题目:
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.
分析:
中序遍历即可。
代码:
/** * Definition for binary tree * struct TreeNode { * int val; * TreeNode *left; * TreeNode *right; * TreeNode(int x) : val(x), left(NULL), right(NULL) {} * }; */class BSTIterator {public: stack<TreeNode*> tree; BSTIterator(TreeNode *root) { while(root){ tree.push(root); root=root->left; } } /** @return whether we have a next smallest number */ bool hasNext() { return !tree.empty(); } /** @return the next smallest number */ int next() { TreeNode* tmp=tree.top(); tree.pop(); TreeNode* right=tmp->right; while(right){ tree.push(right); right=right->left; } return tmp->val; }};/** * Your BSTIterator will be called like this: * BSTIterator i = BSTIterator(root); * while (i.hasNext()) cout << i.next(); */
0 0
- [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 173. Binary Search Tree Iterator
- [leetcode] 173. Binary Search Tree Iterator
- <LeetCode OJ> 173. Binary Search Tree Iterator
- [LeetCode]problem 173. 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
- LeetCode 173. Binary Search Tree Iterator
- JAVA基础重点难点笔记
- JDBC写数据到文件中再Copy到postgresql中
- 1009. Product of Polynomials (25)
- 随笔
- C++中的四种强制类型的转换
- LeetCode *** 173. Binary Search Tree Iterator
- 二叉树中和为某一值的路径
- Swift学习笔记之基础知识
- Understanding LSTM Networks
- 观察者模式
- GCD学习
- 常用函数的导数表
- Objective-C第2版第6章源文件组织学习记录
- Discuz 变量注释