LeetCode 173 Binary Search Tree Iterator
来源:互联网 发布:长城软件纳税服务电话 编辑:程序博客网 时间:2024/06/06 12:23
题目
mplement 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 * struct TreeNode { * int val; * TreeNode *left; * TreeNode *right; * TreeNode(int x) : val(x), left(NULL), right(NULL) {} * }; */class BSTIterator { std::stack<TreeNode*> stack; int smallest_num;public: BSTIterator(TreeNode *root) { while(root != NULL) { stack.push(root); root = root->left; } } /** @return whether we have a next smallest number */ bool hasNext() { if (stack.empty()) return false; TreeNode* top = stack.top(); stack.pop(); smallest_num = top->val; TreeNode* temp = top->right; if(temp != NULL) { stack.push(temp); temp = temp->left; while(temp != NULL) { stack.push(temp); temp = temp->left; } } return true; } /** @return the next smallest number */ int next() { return smallest_num; }};/** * 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
- [LeetCode 173] Binary Search Tree Iterator
- [leetcode-173]Binary Search Tree Iterator(java)
- 【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 173: Binary Search Tree Iterator
- LeetCode[173] Binary Search Tree Iterator
- LeetCode No.173 Binary Search Tree Iterator
- LeetCode #173 - Binary Search Tree Iterator - Medium
- [Leetcode] #173 Binary Search Tree Iterator
- Leetcode 173 Binary Search Tree Iterator
- 省赛之行
- Java面向对象编程(常用基础)
- 【bzoj1013】[JSOI2008]球形空间产生器sphere
- OpenSSL Cookbook 3——证书注册请求(CSR)
- 暴力搜索(HDU 5305,Friends)
- LeetCode 173 Binary Search Tree Iterator
- 递归算法例子
- 在ubuntu14.04上安装cuda deb文件
- SSD论文阅读
- spark常用RDD算子 汇总(java和scala版本)
- 接口测试的两种方法
- 搜索和信息的作用——条件熵
- UITableView手风琴效果开发总结
- MySQL修改root密码的4种方法