LeetCode 145. Binary Tree Postorder Traversal java solution

来源:互联网 发布:苹果7为什么4g网络很慢 编辑:程序博客网 时间:2024/06/01 09:54

题目要求:
Given a binary tree, return the postorder traversal of its nodes’ values.

For example:
Given binary tree {1,#,2,3},
1
\
2
/
3
return [3,2,1].

Note: Recursive solution is trivial, could you do it iteratively?

Subscribe to see which companies asked this question

这个题目虽然是放到了hard中, 但是感觉并不难, 可能是使用了递归的方式去进行求解的原因!
非递归的方式以后会更新.

/** * Definition for a binary tree node. * public class TreeNode { *     int val; *     TreeNode left; *     TreeNode right; *     TreeNode(int x) { val = x; } * } */public class Solution {    public List<Integer> postorderTraversal(TreeNode root) {        List<Integer> list = new ArrayList<>();        traversal(list, root);        return list;    }    private void traversal(List<Integer> list, TreeNode node) {        if (node == null) {            return;        }        traversal(list, node.left);        traversal(list, node.right);        list.add(node.val);    }}
0 0