LeetCode —— 145. 二叉树的后序遍历【递归与迭代】(Python)
给定一个二叉树,返回它的 后序 遍历。
进阶: 递归算法很简单,你可以通过迭代算法完成吗?
解法一:递归
# Definition for a binary tree node.
# class TreeNode:
# def __init__(self, x):
# self.val = x
# self.left = None
# self.right = Noneclass Solution:def __init__(self):self.ans = []def postorderTraversal(self, root: TreeNode) -> List[int]:if not root:return self.ansself.postorderTraversal(root.left)self.postorderTraversal(root.right)self.ans.append(root.val)return self.ans
解法二:迭代
class Solution(object):def postorderTraversal(self, root):""":type root: TreeNode:rtype: List[int]"""if root is None:return []stack = [root, ] # 栈,后进先出output = [] # 存储输出while stack:root = stack.pop()output.append(root.val)if root.left is not None:stack.append(root.left)if root.right is not None:stack.append(root.right)return output[::-1] # 逆序输出
LeetCode —— 145. 二叉树的后序遍历【递归与迭代】(Python)相关推荐
- LeetCode 145. 二叉树的后序遍历(递归)(迭代)(颜色标记法)
题目描述 给定一个二叉树,返回它的后序遍历 思路 详见链接 代码 递归 #class TreeNode: # def __init__(self,x): # self.val = x # self.l ...
- LeetCode 145 二叉树的后序遍历(非递归)
题目: 给定一个二叉树,返回它的 后序 遍历. 示例: 输入: [1,null,2,3] 1\2/3 输出: [3,2,1] 进阶: 递归算法很简单,你可以通过迭代算法完成吗? 解题思路: 1.使用一 ...
- LeetCode 145. 二叉树的后序遍历(后序遍历总结)
文章目录 1. 题目信息 2. 解法 2.1 递归 2.2 循环,必须掌握 a. 单栈 b. 双栈解法 3. 前中后序总结 1. 题目信息 给定一个二叉树,返回它的 后序 遍历. 示例:输入: [1, ...
- [leetcode]145.二叉树的后序遍历
给定一个二叉树,返回它的 后序 遍历. 示例: 输入: [1,null,2,3] 1\2/3 输出: [3,2,1] 进阶: 递归算法很简单,你可以通过迭代算法完成吗? 1.递归解法 class So ...
- Leetcode 145. 二叉树的后序遍历 (每日一题 20210930)
给定一个二叉树,返回它的 后序 遍历.示例:输入: [1,null,2,3] 1\2/3 输出: [3,2,1] 进阶: 递归算法很简单,你可以通过迭代算法完成吗?链接:https://leetcod ...
- LeetCode 145 ——二叉树的后序遍历
1. 题目 2. 解答 2.1. 递归法 定义一个存放树中数据的向量 data,从根节点开始,如果节点不为空,那么 递归得到其左子树的数据向量 temp,将 temp 合并到 data 中去 递归得到 ...
- Leetcode题库 145.二叉树的后序遍历(递归 C实现)
文章目录 思路 代码 思路 1.左右非空则先记录左右, 最后在记录自身 2.迭代法,需要建立struct TreeNode stack,记录父节点,知道怎么写就行,不一定非要按照它说的那样(没写过的, ...
- 二叉树后序遍历_LeetCode算法145. 二叉树的后序遍历
leetcode LeetCode算法-145. 二叉树的后序遍历 145. 二叉树的后序遍历 题目 给定一个二叉树,返回它的 后序 遍历. 示例: 输入: [1,null,2,3] 1 \ 2 / ...
- 刻意练习:LeetCode实战 -- 二叉树的后序遍历
背景 今天,第二期基础算法(Leetcode)刻意练习训练营 的打卡任务是二叉树的中序遍历,由于二叉树的遍历方式通常来说有四种:前序遍历.中序遍历.后序遍历以及层次遍历,而LeetCode也有二叉树的 ...
最新文章
- iOS动画系列之九:实现点赞的动画及播放起伏指示器
- 爬虫基础(二)之http协议复习
- “技术崇拜”与“技术恐惧”都会阻碍 AI 创新,“技术节制”才是正道
- MATLAB利用串口接收数据,并实时显示图形
- CSS基础篇--强制性换行word-break与word-wrap的使用
- java lambda例子_Java lambda 表达式常用示例
- php 查看spl,PHP使用标准库spl实现的观察者模式示例
- spring整合web
- linux centeros下Redis的安装
- Angular6笔记之全局组件
- 操作系统--进程管理1--单个CPU情况
- 计算机财务管理中表格的应用,论Excel表在财务管理中的应用
- 如何在EDI系统中查询文件?
- hp probook fn_如何在HP ProBook(或兼容笔记本电脑)上安装Mac OS X Lion
- python colorbar刻度_python-如何添加Matplotlib Colorbar刻度
- 烟花背景的3D打字魔方相册(末尾附加下载地址)
- android killer 反编译工具,androidkiller反编译软件使用与踩坑并解决的过程
- 体会现实生活的两个月(上)
- P1413 坚果保龄球洛谷c++题解
- 电商系统,剖析商品模块中商品表(spu)、规格表(sku)的数据库是如何设计的