zoukankan      html  css  js  c++  java
  • LeetCode 二叉树后序遍历(binary-tree-postorder-traversal)

    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?

    import java.util.*;
    public class Solution {
        public ArrayList<Integer> postorderTraversal(TreeNode root) {
            ArrayList<Integer> list = new ArrayList<Integer>();
            if(root==null)
                return list;
            Stack<TreeNode> stack = new Stack<TreeNode>();
            Stack<TreeNode> stack2 = new Stack<TreeNode>();
            stack.add(root);
            while(!stack.isEmpty()){
                TreeNode r = stack.pop();
                if(r.left!=null)
                    stack.add(r.left);
                if(r.right!=null)
                    stack.add(r.right);
                stack2.add(r);
            }
            while(!stack2.isEmpty()){
                list.add(stack2.pop().val);
            }
            //LRD(list,root);递归
            return list;
        }
        public void LRD(ArrayList<Integer> list,TreeNode root){
            if(root==null)
                return;
            LRD(list,root.left);
            LRD(list,root.right);
            list.add(root.val);
        }
    }
  • 相关阅读:
    python之路-javascript
    python之路-css
    python之路-初识前端
    python之路-线程
    python之路-socket
    base64 convert to file
    base64 json
    centos7 hostname
    geoip2 domain
    佛教六度
  • 原文地址:https://www.cnblogs.com/googlemeoften/p/5819044.html
Copyright © 2011-2022 走看看