题目:

给定一个二叉树,返回它的 后序 遍历。示例:输入: [1,null,2,3]1\2/3输出: [3,2,1]

程序入口:

        TreeNode treeNode = new TreeNode(1);treeNode.left = null;treeNode.right = new TreeNode(2);treeNode.right.left = new TreeNode(3);List<Integer> integers = postorderTraversal(treeNode);System.out.println(integers);

解决方法一:

    public static List<Integer> postorderTraversal(TreeNode root) {List<Integer> result = new LinkedList<>();reversePO(root,result);return result;}private static void reversePO(TreeNode root, List<Integer> result) {if (root != null) {reversePO(root.left,result);reversePO(root.right,result);result.add(root.val);}}

解决方法二:

    public static List<Integer> postorderTraversal2(TreeNode root) {List<Integer> result = new LinkedList<>();LinkedList<TreeNode> stack = new LinkedList<>();stack.offer(root);while (!stack.isEmpty()){TreeNode treeNode = stack.pollLast();if (treeNode == null) {continue;}if (treeNode.left == null && treeNode.right == null) {result.add(treeNode.val);continue;}stack.add(treeNode);if (treeNode.right != null) {stack.offer(treeNode.right);}if (treeNode.left != null) {stack.offer(treeNode.left);}treeNode.left = treeNode.right = null;}return result;}

算法---------二叉树的后序遍历相关推荐

  1. 二叉树后序遍历_LeetCode算法145. 二叉树的后序遍历

    leetcode LeetCode算法-145. 二叉树的后序遍历 145. 二叉树的后序遍历 题目 给定一个二叉树,返回它的 后序 遍历. 示例: 输入: [1,null,2,3] 1 \ 2 / ...

  2. 二叉树的后序遍历的非递归实现算法

    算法思想: 后序遍历二叉树的顺序是左右根.我们需要用一个辅助栈来记录没有访问过得祖宗节点. 借助一个简单的二叉树模拟一下过程. 后序遍历的顺序是DEBFGCA 算法步骤 1.沿着根的左孩子,依次入栈, ...

  3. [算法] 二叉树的 先序遍历、中序遍历、后序遍历

    本文根据清华大学邓俊辉老师课程<数据结构>总结,课程地址 . 遍历介绍 按照事先约定的某种规则或次序,对节点各访问一次而且仅一次.与向量和列表等线性结构一样,二叉树的这类访问也统称为遍历( ...

  4. 刻意练习:LeetCode实战 -- 二叉树的后序遍历

    背景 今天,第二期基础算法(Leetcode)刻意练习训练营 的打卡任务是二叉树的中序遍历,由于二叉树的遍历方式通常来说有四种:前序遍历.中序遍历.后序遍历以及层次遍历,而LeetCode也有二叉树的 ...

  5. 二叉树的后序遍历(C语言)

    首先我们从两个方面讲解二叉树的后序遍历(递归+迭代) 一.二叉树的后序遍历.(递归) 思想: 首先我们从二叉树的根节点开始先遍历其左孩子,①接着同样继续遍历其左孩子的左孩子,直到某个左孩子节点的左孩子 ...

  6. 二叉树的后序遍历-python

    leetCode第145题 二叉树的后序遍历 链接:https://leetcode-cn.com/problems/binary-tree-postorder-traversal 给你一棵二叉树的根 ...

  7. [LeetCode] Binary Tree Postorder Traversal 二叉树的后序遍历

    Given a binary tree, return the postorder traversal of its nodes' values. For example: Given binary ...

  8. 【7-10 PAT】树的遍历(给定一棵二叉树的后序遍历和中序遍历,请你输出其层序遍历的序列。)

    题干: 给定一棵二叉树的后序遍历和中序遍历,请你输出其层序遍历的序列.这里假设键值都是互不相等的正整数. 解题报告: dfs求出这棵树来,然后bfs求层序遍历就行了. AC代码: #include&l ...

  9. LeetCode-145:二叉树的后序遍历

    题目描述: 给定一个二叉树,返回它的 后序 遍历. 示例: 输入: [1,null,2,3]      1     \      2     /    3 输出: [3,2,1] 思路分析: 递归法: ...

最新文章

  1. ExtJS在树TreePanel之间拖放结点
  2. 思考系统架构师的职责
  3. TypeScript 里 interface 和 type 的区别
  4. JIT编译器,内联和转义分析
  5. C++ 类模板二(类模版与友元函数)
  6. 下载Centos7 64位镜像
  7. 波士顿动力再发逆天机器人视频:倒立、360°旋转、空中劈叉,真是秀儿
  8. 【TensorFlow】TensorFlow从浅入深系列之七 -- 教你使用验证数据集判断模型效果
  9. 教你如何使用flask实现ajax数据入库
  10. python输入hello输出olleh_Python小试牛刀(经典例题)[连载中]
  11. xp硬盘上安装ubuntu12.04双系统
  12. Algs4-1.2.8引用型变量赋值-数组复制
  13. HTML5之全局属性 (声明:内容节选自《HTML 5从入门到精通》)
  14. 最强社工必备查询网址汇总
  15. pdf阅读器怎么样去拆分文档啊
  16. html设置ie兼容性视图,如何用脚本配置IE兼容性视图设置
  17. 如何在Google Play 当中使用ASO?google play aso
  18. Event的三个阶段:CAPTURING_PHASE,AT_TARGET,BUBBLING_PHASE
  19. 在线TSV转CSV工具
  20. 如何监控电瓶车,根据交通规则推送给信息和罚单

热门文章

  1. 托管代码与非托管代码
  2. java.net import_import java.net.URL;是什么类?
  3. C++知识点49——类继承与类的构造、拷贝、operator=和析构函数
  4. 记录一下mathtype输入任意形式矩阵
  5. TCP/IP学习入门笔记
  6. serv-u 自定义html,Serv-U架设教程_Serv-U使用教程图文版
  7. python时间序列峰值检测_python – 二维数组中的峰值检测
  8. 串口调试助手c语言程序,串口调试助手C语言源程序
  9. linux 服务搭建DNS
  10. django restfull centos6.5 x86_64 python2.7