博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
leecode刷题(30)-- 二叉树的后序遍历
阅读量:5323 次
发布时间:2019-06-14

本文共 1173 字,大约阅读时间需要 3 分钟。

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
list = new ArrayList(); public List
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 = Noneclass 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

总结

对比如下:

image.png

转载于:https://www.cnblogs.com/weixuqin/p/10822221.html

你可能感兴趣的文章
1201 网页基础--JavaScript(DOM)
查看>>
组合数学 UVa 11538 Chess Queen
查看>>
oracle job
查看>>
Redis常用命令
查看>>
EFCode First 导航属性
查看>>
XML学习笔记(二)-- DTD格式规范
查看>>
I - Agri-Net - poj 1258
查看>>
git 的回退
查看>>
IOS开发学习笔记026-UITableView的使用
查看>>
Confluence配置数据库
查看>>
Java锁机制(一)synchronized
查看>>
002.文件删除功能
查看>>
[转载]电脑小绝技
查看>>
windos系统定时执行批处理文件(bat文件)
查看>>
06-redis主从
查看>>
linux下面桌面的安装
查看>>
thinkphp如何实现伪静态
查看>>
作业引擎quartz.net --- 监听链
查看>>
iframe传参数
查看>>
BZOJ 2243: [SDOI2011]染色( 树链剖分 )
查看>>