当前位置:网站首页>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
边栏推荐
猜你喜欢
随机推荐
Master data management theory and Practice
Taobao focus map layout practice
Gifcam v7.0 minimalist GIF animation recording tool Chinese single file version
Maturity of master data management (MDM)
BUUCTF刷题笔记——[极客大挑战 2019]EasySQL 1
C language - Blue Bridge Cup - promised score
Pure QT version of Chinese chess: realize two-man, man-machine and network games
Referenceerror: primordials is not defined error resolution
[Chongqing Guangdong education] higher mathematics I reference materials of Southwest Petroleum University
继承day01
jsscript
Web security SQL injection vulnerability (1)
tcpdump: no suitable device found
RobotFramework入门(一)简要介绍及使用
How does yyds dry inventory deal with repeated messages in the consumption process?
Polymorphic day02
Descriptor implements ORM model
My C language learning record (blue bridge) -- on the pointer
Introduction to robotframework (III) Baidu search of webui automation
Some problem records of AGP gradle

![BUUCTF刷题笔记——[极客大挑战 2019]EasySQL 1](/img/37/c38a933ce7fa5d2b8fa597965ffcb2.png)







