mirror of
https://github.com/youngyangyang04/leetcode-master.git
synced 2025-07-09 03:34:02 +08:00
@ -155,9 +155,82 @@ public:
|
||||
|
||||
## 其他语言版本
|
||||
|
||||
|
||||
Java:
|
||||
|
||||
```java
|
||||
// 前序遍历顺序:中-左-右,入栈顺序:中-右-左
|
||||
class Solution {
|
||||
public List<Integer> preorderTraversal(TreeNode root) {
|
||||
List<Integer> result = new ArrayList<>();
|
||||
if (root == null){
|
||||
return result;
|
||||
}
|
||||
Stack<TreeNode> stack = new Stack<>();
|
||||
stack.push(root);
|
||||
while (!stack.isEmpty()){
|
||||
TreeNode node = stack.pop();
|
||||
result.add(node.val);
|
||||
if (node.right != null){
|
||||
stack.push(node.right);
|
||||
}
|
||||
if (node.left != null){
|
||||
stack.push(node.left);
|
||||
}
|
||||
}
|
||||
return result;
|
||||
}
|
||||
}
|
||||
|
||||
// 中序遍历顺序: 左-中-右 入栈顺序: 左-右
|
||||
class Solution {
|
||||
public List<Integer> inorderTraversal(TreeNode root) {
|
||||
List<Integer> result = new ArrayList<>();
|
||||
if (root == null){
|
||||
return result;
|
||||
}
|
||||
Stack<TreeNode> stack = new Stack<>();
|
||||
TreeNode cur = root;
|
||||
while (cur != null || !stack.isEmpty()){
|
||||
if (cur != null){
|
||||
stack.push(cur);
|
||||
cur = cur.left;
|
||||
}else{
|
||||
cur = stack.pop();
|
||||
result.add(cur.val);
|
||||
cur = cur.right;
|
||||
}
|
||||
}
|
||||
return result;
|
||||
}
|
||||
}
|
||||
|
||||
// 后序遍历顺序 左-右-中 入栈顺序:中-左-右 出栈顺序:中-右-左, 最后翻转结果
|
||||
class Solution {
|
||||
public List<Integer> postorderTraversal(TreeNode root) {
|
||||
List<Integer> result = new ArrayList<>();
|
||||
if (root == null){
|
||||
return result;
|
||||
}
|
||||
Stack<TreeNode> stack = new Stack<>();
|
||||
stack.push(root);
|
||||
while (!stack.isEmpty()){
|
||||
TreeNode node = stack.pop();
|
||||
result.add(node.val);
|
||||
if (node.left != null){
|
||||
stack.push(node.left);
|
||||
}
|
||||
if (node.right != null){
|
||||
stack.push(node.right);
|
||||
}
|
||||
}
|
||||
Collections.reverse(result);
|
||||
return result;
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
|
||||
|
||||
|
||||
Python:
|
||||
```python3
|
||||
|
Reference in New Issue
Block a user