给定一个二叉树,返回它的 后序 遍历。

示例:

输入: [1,null,2,3]  1\2/3 输出: [3,2,1]

进阶: 递归算法很简单,你可以通过迭代算法完成吗?

1.递归解法

class Solution:def postorderTraversal(self, root: TreeNode) -> List[int]:self.res = []self.dfs(root)return self.res def dfs(self,node:TreeNode):if node is None:returnself.dfs(node.left)self.dfs(node.right)self.res.append(node.val)

2.非递归解法

class Solution:def postorderTraversal(self, root: TreeNode) -> List[int]:"""左右根根右左-->反转"""res = []if root is None:return resstack = []stack.append(root)while len(stack)>0:node = stack.pop()res.append(node.val)if node.left!=None:stack.append(node.left)if node.right!= None:stack.append(node.right)res.reverse()return res

[leetcode]145.二叉树的后序遍历相关推荐

  1. LeetCode 145. 二叉树的后序遍历(后序遍历总结)

    文章目录 1. 题目信息 2. 解法 2.1 递归 2.2 循环,必须掌握 a. 单栈 b. 双栈解法 3. 前中后序总结 1. 题目信息 给定一个二叉树,返回它的 后序 遍历. 示例:输入: [1, ...

  2. Leetcode 145. 二叉树的后序遍历 (每日一题 20210930)

    给定一个二叉树,返回它的 后序 遍历.示例:输入: [1,null,2,3] 1\2/3 输出: [3,2,1] 进阶: 递归算法很简单,你可以通过迭代算法完成吗?链接:https://leetcod ...

  3. LeetCode —— 145. 二叉树的后序遍历【递归与迭代】(Python)

    给定一个二叉树,返回它的 后序 遍历. 进阶: 递归算法很简单,你可以通过迭代算法完成吗? 解法一:递归 # Definition for a binary tree node. # class Tr ...

  4. LeetCode 145 二叉树的后序遍历(非递归)

    题目: 给定一个二叉树,返回它的 后序 遍历. 示例: 输入: [1,null,2,3] 1\2/3 输出: [3,2,1] 进阶: 递归算法很简单,你可以通过迭代算法完成吗? 解题思路: 1.使用一 ...

  5. LeetCode 145. 二叉树的后序遍历(递归)(迭代)(颜色标记法)

    题目描述 给定一个二叉树,返回它的后序遍历 思路 详见链接 代码 递归 #class TreeNode: # def __init__(self,x): # self.val = x # self.l ...

  6. LeetCode 145 ——二叉树的后序遍历

    1. 题目 2. 解答 2.1. 递归法 定义一个存放树中数据的向量 data,从根节点开始,如果节点不为空,那么 递归得到其左子树的数据向量 temp,将 temp 合并到 data 中去 递归得到 ...

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

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

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

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

  9. LeetCode二叉树系列——145.二叉树的后序遍历

    一.题目描述: 144. 二叉树的前序遍历 给你二叉树的根节点 root ,返回它节点值的 后序遍历. . 二.题解 对二叉树不了解的,可以先看第三部分的分析 /*** Definition for ...

最新文章

  1. git 换行符LF与CRLF转换问题
  2. hadoop使用mapreduce统计词频_深圳嘉华学校之Hadoop简介(什么是Map-Reduce-Mapreduce-about云开发)...
  3. html5 拖拽的简要介绍
  4. phonegap html 缩放,phonegap常用事件总结(必看篇)
  5. 恢复qsecofr密码
  6. Java排序算法之--快速算法--快速上手
  7. 消息队列RabbitMQ入门与5种模式详解
  8. python class用法理解_带你全面理解python中self的用法
  9. H5上传文件又双叒叕开测了!
  10. 恋上数据结构完整笔记(第1季 + 第2季)
  11. can接收id过滤linux,linux – 很大程度上被candump(SocketCAN)ID过滤功能搞糊涂了
  12. mysql 概率函数_MySQL对window函数执行sum函数可能出现的一个Bug
  13. java-xx参数介绍及调优总结
  14. 傲腾readyboost_从提示框:自动耳机音量调节,Compact Windows ReadyBoost和安全电话充电...
  15. 2009个人年度总结报告
  16. ccf 202012-3 带配额的文件系统(大模拟)
  17. AndroidStudio蓝牙通信
  18. C#参数详解一(形参和实参)
  19. 苹果微信多开_简易版!微信电脑端多开方法!!!
  20. LPL2020夏季常规赛7月22日RW vs ES,WE vs BLG前瞻预测

热门文章

  1. 大厂「offer 收割机」修炼记
  2. 面试官:说说你对高性能秒杀系统的设计思考?
  3. 从容器到容器云,什么才是 Kubernetes 的本质?
  4. LiveVideoStack线上交流分享 (十四) —— 深度学习在视频分析处理的实践
  5. 设计模式C++实现(3)——装饰模式
  6. PMP之项目风险管理---实施定性风险分析
  7. gitlab project项目迁移
  8. mysql面试精选【推荐】
  9. leetcode 665. Non-decreasing Array | 665. 非递减数列(Java)
  10. leetcode 152. Maximum Product Subarray | 152. 乘积最大子数组(Java)