zoukankan      html  css  js  c++  java
  • 145. 二叉树的后序遍历

     思路:

    先序遍历:根-左,右

    中序遍历:左,根,右

    后序遍历:左-右-根

    可以发现,只是访问根节点顺序不同而已‘

    后序遍历,左右根,也就是根右左然后逆序!!!(先序遍历是根左右,则后续遍历时候入栈时先入左边再右边)最后的结果逆序输出一下就行!

    /**
     * Definition for a binary tree node.
     * public class TreeNode {
     *     int val;
     *     TreeNode left;
     *     TreeNode right;
     *     TreeNode(int x) { val = x; }
     * }
     */
    class Solution {//后序遍历,左右根,也就是根右左然后逆序!!!(先序遍历是跟左右,则后续遍历时候入栈时先入左边再右边)最后的结果逆序输出一下就行!
        public List<Integer> postorderTraversal(TreeNode root) {
    List<Integer>res=new ArrayList<Integer>();
            if(root==null)return res;
            Stack<TreeNode> stack=new Stack<TreeNode>();
            stack.push(root);
            while(!stack.isEmpty())
            {
                TreeNode n=stack.pop();
                res.add(n.val);
                if(n.left!=null)
                {
                    stack.push(n.left);
                }
                if(n.right!=null)
                {
                    stack.push(n.right);
                }
    
            }
            Collections.reverse(res);
            return res;
        }
    }
    

      

  • 相关阅读:
    字典--------输出有序的格式
    输出数据和数据下标的两种方法
    删除操作
    搭建RabbitMQ环境(windows)
    SpringBoot 2.x 集成 Redis
    Redis 安装
    Spring Boot 数据库操作
    默认日志Logback配置
    通过poi下载图片到word
    Spring IoC 与 AOP
  • 原文地址:https://www.cnblogs.com/lzh1043060917/p/12826670.html
Copyright © 2011-2022 走看看