新增java 統一迭代法-中序遍历

新增java 統一迭代法-中序遍历
This commit is contained in:
Lozakaka
2023-04-25 04:03:17 -04:00
committed by GitHub
parent b253fccfba
commit 75c7f940d1

View File

@ -174,6 +174,39 @@ class Solution {
}
}
```
統一迭代法-中序遍历
```Java
class Solution {
public int getMinimumDifference(TreeNode root) {
Stack<TreeNode> stack = new Stack<>();
TreeNode pre = null;
int result = Integer.MAX_VALUE;
if(root != null)
stack.add(root);
while(!stack.isEmpty()){
TreeNode curr = stack.peek();
if(curr != null){
stack.pop();
if(curr.right != null)
stack.add(curr.right);
stack.add(curr);
stack.add(null);
if(curr.left != null)
stack.add(curr.left);
}else{
stack.pop();
TreeNode temp = stack.pop();
if(pre != null)
result = Math.min(result, temp.val - pre.val);
pre = temp;
}
}
return result;
}
}
```
迭代法-中序遍历
```java