145. Binary Tree Postorder Traversal

发布时间 2024-01-04 17:52:34作者: MarkLeeBYR
public List<Integer> postorderTraversal(TreeNode root) {
List<Integer> list = new ArrayList<>();
if (root == null)
return list;
Stack<TreeNode> stack = new Stack<>();
stack.push(root);
while(!stack.empty()){
root = stack.pop();
list.add(0, root.val);
if(root.left != null)
stack.push(root.left);
if(root.right != null)
stack.push(root.right);
}
return list;
}

class Solution {
List<Integer> result = new ArrayList<>();
public List<Integer> postorderTraversal(TreeNode root) {
helper(root);
return result;
}

private void helper(TreeNode root) {
if (root == null)
return;
if (root.left != null)
helper(root.left);
if (root.right != null)
helper(root.right);
result.add(root.val);
}
}