当前位置:网站首页>Leetcode problem solving -- 173 Binary search tree iterator
Leetcode problem solving -- 173 Binary search tree iterator
2022-07-06 03:07:00 【Snowy solitary boat】
Iterative thinking
private TreeNode node;
private Stack<TreeNode> stack;
public BSTIterator(TreeNode root) {
this.node =root;
stack = new Stack<>();
}
public int next() {
while (node !=null){
stack.push(node);
node = node.left;
}
node = stack.pop();
int next = node.val;
node = node.right;
return next;
}
public boolean hasNext() {
return node !=null||!stack.isEmpty();
}
Ideas : The iterative scheme based on the middle order traversal is improved
Every call next Get the value of a node
At the same time, the judgment conditions of the original cycle are extracted to hasNext Method to go
Be careful :
This scheme is based on the understanding of the iterative method of middle order traversal , If a little partner doesn't know , And I want to know more about the explanation idea of middle order traversal iteration , Sure Click here to jump
Other options
In fact, you can recursively traverse the tree once , Put it in an array , Creating index variables can also achieve the above functions ,leetcode The official also has corresponding solutions , But I want to , In fact, iterators are originally what I can do as much as you want , If it is realized in this way , Small amount of data is OK , If it's big data , It will undoubtedly cause bad time loss , So I didn't write it out , Interested students can Click here Jump leetcode Official explanation
边栏推荐
猜你喜欢
Is there a completely independent localization database technology
What is the investment value of iFLYTEK, which does not make money?
2022工作中遇到的问题四
[concept] Web basic concept cognition
淘宝焦点图布局实战
Gifcam v7.0 minimalist GIF animation recording tool Chinese single file version
I sorted out a classic interview question for my job hopping friends
NR modulation 1
[network security interview question] - how to penetrate the test file directory through
OCR文字识别方法综述
随机推荐
js 正则过滤和增加富文本中图片前缀
[ruoyi] set theme style
2345 file shredding, powerful file deletion tool, unbound pure extract version
不赚钱的科大讯飞,投资价值该怎么看?
[Chongqing Guangdong education] higher mathematics I reference materials of Southwest Petroleum University
2.13 simulation summary
Descriptor implements ORM model
codeforces每日5題(均1700)-第六天
主数据管理理论与实践
【paddle】加载模型权重后预测报错AttributeError: ‘Model‘ object has no attribute ‘_place‘
Selenium share
RobotFramework入门(二)appUI自动化之app启动
解决:AttributeError: ‘str‘ object has no attribute ‘decode‘
Modeling specifications: naming conventions
Huawei, H3C, Cisco command comparison, mind map form from the basic, switching, routing three directions [transferred from wechat official account network technology alliance station]
MySQL advanced notes
Linear programming matlab
My C language learning record (blue bridge) -- under the pointer
Codeforces 5 questions par jour (1700 chacune) - jour 6
Solve 9 with C language × 9 Sudoku (personal test available) (thinking analysis)