zoukankan      html  css  js  c++  java
  • LeetCode:145 二叉树的后序遍历(用栈模拟递归,记录前一个输出的节点)

    class Solution {
        public List<Integer> postorderTraversal(TreeNode root) {
           List<Integer> res = new LinkedList<>();
           Deque<TreeNode> stack = new LinkedList<>();
           TreeNode t = root;
           TreeNode prev = null;
           while(t!=null||!stack.isEmpty()){
               if(t!=null){
                   stack.push(t);
                   t = t.left;
               }
               else{
                   t = stack.pop();
                   if(t.right==null||t.right==prev){
                       res.add(t.val);
                       prev = t;
                       t = null;
                   }
                   else{    
                       stack.push(t);
                       t = t.right;
                   }
               }
           }
           return res;
        }
    }
  • 相关阅读:
    JAVA程序的运行机制
    DOS命令
    垃圾回收
    eureka的简单使用
    各微服务之间的调用
    各层调用关系与注解使用
    bean管理xml方式
    Lombok介绍和使用
    java特性 JDK JRE JVM
    git克隆 文件夹
  • 原文地址:https://www.cnblogs.com/dloooooo/p/13771292.html
Copyright © 2011-2022 走看看