baixiaoshuai

非递归

public class Problem {
    public List<Integer> postorderTraversal(TreeNode root){
        List<Integer> list = new LinkedList<>();
        if(root==null){
            return list;
        }
        Stack<TreeNode> stack=new Stack<>();
        Stack<TreeNode> output=new Stack<>();
        TreeNode node =root;
        while (node!=null||!stack.isEmpty()){
            while (node!=null){
                stack.push(node);
                output.push(node);
                node=node.right;
            }
            if(!stack.isEmpty()){
                TreeNode temp = stack.pop();
                node=temp.left;
            }

        }
        while (!output.isEmpty()){
            list.add(output.pop().val);
        }
        return list;
    }
}

递归

public class Problem {
    public List<Integer> postorderTraversal(TreeNode root){
        List<Integer> list = new LinkedList<>();
        if(root==null){
            return list;
        }
        postorderTraversal(root,list);
        return list;
    }
    public void postorderTraversal(TreeNode root,List<Integer> result){
        if(root==null){
            return;
        }
        postorderTraversal(root.left,result);
        postorderTraversal(root.right,result);
        result.add(root.val);
    }
}

分类:

技术点:

相关文章:

  • 2021-12-03
  • 2021-11-19
  • 2021-12-03
  • 2021-08-26
  • 2021-11-21
  • 2021-04-05
猜你喜欢
  • 2021-10-19
  • 2021-12-03
  • 2022-01-01
  • 2021-12-03
  • 2021-11-30
  • 2021-12-15
  • 2021-12-27
相关资源
相似解决方案