Binary Search Tree Iterator: O(1)时间复杂度,O(h)空间复杂度
来源:互联网 发布:vb中range对象 编辑:程序博客网 时间:2024/06/16 01:35
class BSTIterator {public: BSTIterator(TreeNode *root) { while (root) { lst.push_back(root); TreeNode *tmp = root->left; root = root->left; } } /** @return whether we have a next smallest number */ bool hasNext() { if (!lst.empty()) return true; else return false; } /** @return the next smallest number */ int next() { int res = lst.back()->val; TreeNode *tmp = lst.back(); lst.pop_back(); tmp = tmp->right; while (tmp) { lst.push_back(tmp); tmp = tmp->left; } return res; } list<TreeNode *> lst; };
0 0
- Binary Search Tree Iterator: O(1)时间复杂度,O(h)空间复杂度
- 时间复杂度O(n),空间复杂度O(1)的排序
- 时间复杂度为O(n),空间复杂度为O(1)
- O(N)时间复杂度、O(1)空间复杂度 构造数组
- merge空间复杂度O(1)
- 如何对n个数进行排序,要求时间复杂度O(n),空间复杂度O(1)
- 数组奇偶分离算法,时间复杂度O(n),空间复杂度O(1)。
- 【100题】第四十九题 排序,要求时间复杂度O(n),空间复杂度O(1)
- 排序的时间复杂度为O(n),空间复杂度为O(1)
- 如何对n个数进行排序,要求时间复杂度O(n),空间复杂度O(1)
- 如何对n个数进行排序,要求时间复杂度O(n),空间复杂度O(1)
- 如何对n个数进行排序,要求时间复杂度O(n),空间复杂度O(1)
- 时间复杂度为O(N),空间复杂度为O(1)的排序算法
- 青蛙跳台阶解法 时间复杂度O(n) 空间复杂度O(1)
- 第四十九题(排序,要求时间复杂度O(n),空间复杂度O(1))
- Candy [leetcode] O(n)时间复杂度,O(1)空间复杂度的方法
- Candy [leetcode] O(n)时间复杂度,O(1)空间复杂度的方法
- 如何对n个数进行排序,要求时间复杂度O(n),空间复杂度O(1)
- js常用事件列表
- 《How to become a hacker?》(怎样成为一名黑客?)翻译(1)
- linux ftok()函数
- 教你增加和保存PPT字体效果
- pptv网络电视全屏后出现黑屏的解决办法
- Binary Search Tree Iterator: O(1)时间复杂度,O(h)空间复杂度
- android selector
- xcode archive 一直是灰色的
- 前端框架(1)
- Android四大组件学习之Activity
- SpringMVC数据绑定全面示例
- liunx tomcat 重启
- java内存泄漏问题
- Java新技术---线程学习之常用同步工具类