博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
[LeetCode]题解(python):145-Binary Tree Postorder Traversal
阅读量:6871 次
发布时间:2019-06-26

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

题目来源:

  https://leetcode.com/problems/binary-tree-postorder-traversal/


 

题意分析:

  后序遍历一棵树,递归的方法很简单,尝试用非递归的方法。


 

题目思路:

  后序遍历的顺序是,先左子树,再右子树,最后才是根节点。递归的思想很简单,那么非递归的方法也是利用栈来实现,后进先出,不过这里先进的应该是左子树,那么得到的结果是根节点,右子树接着左子树。最后将结果翻转就可以了。代码给的是非递归的方法。


 

代码(python):

# Definition for a binary tree node.# class TreeNode(object):#     def __init__(self, x):#         self.val = x#         self.left = None#         self.right = Noneclass Solution(object):    def postorderTraversal(self, root):        """        :type root: TreeNode        :rtype: List[int]        """        ans = []        if root == None:            return ans        stack = [root]        while len(stack) != 0:            p = stack.pop()            ans.append(p.val)            if p.left:                stack.append(p.left)            if p.right:                stack.append(p.right)        ans.reverse()        return ans
View Code

 

转载于:https://www.cnblogs.com/chruny/p/5477575.html

你可能感兴趣的文章
springboot加载顺序
查看>>
python chapter 学习之序列
查看>>
GlusterFS的基础应用
查看>>
ORA-09925: Unable to create audit trail file Linux-x86_64
查看>>
如何跳出嵌套语句之return
查看>>
API概述
查看>>
python2.6 安装rsa的包
查看>>
undo表空间使用率过高,且迟迟不释放问题
查看>>
scons *** no sconstruct file found求解决办法
查看>>
BIND基础配置详解
查看>>
火狐增加安全端口,每次用都得查,好麻烦,自己记录一下
查看>>
c# 多线程排队队列实现的源码
查看>>
LDA入门与Java实现
查看>>
19_css背景控制.html
查看>>
计算机网络测试和故障诊断的发展
查看>>
Delphi 与 DirectX 之 DelphiX(29): TDIB.AddMonoNoise();
查看>>
Windows Server 2008 FTP用户目录隔离模式
查看>>
zookeeper-kafka环境搭建,生产者消费者终端测试
查看>>
Catnut 微博app第一个版本发布了
查看>>
python实现linux下指定目录下文件中的单词个数统计
查看>>