leecode刷题(30)-- 二叉树的后序遍历
2024-10-06 22:39:25
leecode刷题(30)-- 二叉树的后序遍历
二叉树的后序遍历
给定一个二叉树,返回它的 后序 遍历。
示例:
输入: [1,null,2,3]
1
\
2
/
3
输出: [3,2,1]
思路
跟上道题一样,我们使用递归的思想解决。
后序遍历:
先处理左子树,然后是右子树,最后是根
代码如下
Java 描述
/**
* Definition for a binary tree node.
* public class TreeNode {
* int val;
* TreeNode left;
* TreeNode right;
* TreeNode(int x) { val = x; }
* }
*/
class Solution {
List<Integer> list = new ArrayList();
public List<Integer> postorderTraversal(TreeNode root) {
if (root != null) {
postorderTraversal(root.left);
postorderTraversal(root.right);
list.add(root.val);
}
return list;
}
}
python 描述
# Definition for a binary tree node.
# class TreeNode:
# def __init__(self, x):
# self.val = x
# self.left = None
# self.right = None
class Solution:
def postorderTraversal(self, root: TreeNode) -> List[int]:
res = []
if root is not None:
res = res + self.postorderTraversal(root.left)
res = res + self.postorderTraversal(root.right)
res = res + [root.val]
return res
总结
对比如下:
最新文章
- MFC -- 遍历Dialog中的子元素(控件)
- Opencv 2.4.10 +VS2010 项目配置记录
- 记录Java的垃圾回收机制和几种引用
- HDU5002 Tree(LCT)
- cocos2d-x 多分辨率适配详解(转载),以前北京团队设计的游戏,也是用这套方案
- android开发问题汇总
- nginx本地的测试环境添加SSL
- 读书笔记_Effective_C++_条款十七:以独立语句将new产生的对象置入智能指针
- SQL Server中的TempDB管理——TempDB基本知识(为什么需要版本存储区)
- Grunt构建工具插件篇——之less工具3和watch配合自动化编译
- js的内置对象
- Centos7 安装python3
- Git的思想和基本工作原理2
- laravel 记录
- mysql修改root密码及修改密码过程中报错的解决方案
- PS调出唯美冷色情侣婚纱写真照
- SqlAlchemy “Too many connections”
- NIO之缓冲区
- JDBC连接自定义sqlserver数据库实例名(多个实例)
- 包--json 与 pickle 模块