美文网首页
LeetCode-python 145.二叉树的后序遍历

LeetCode-python 145.二叉树的后序遍历

作者: wzNote | 来源:发表于2019-09-21 09:30 被阅读0次

    题目链接
    难度:困难       类型: 二叉树


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

    示例

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

    解题思路


    递归好实现一点,不递归确实很麻烦,毕竟是一道困难等级的题目

    对于非递归的方法,有一种思路,用先序遍历(中->左->右)的方式,以中->右->左的顺序遍历二叉树,最后再翻转结果就可以得到后续遍历

    代码实现

    # 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):
            """
            :type root: TreeNode
            :rtype: List[int]
            """
            res = []
            def post(cur):
                if cur:
                    post(cur.left)
                    post(cur.right)
                    res.append(cur.val)
            post(root)
            return res
    

    本文链接:https://www.jianshu.com/p/b83dd7571416

    相关文章

      网友评论

          本文标题:LeetCode-python 145.二叉树的后序遍历

          本文链接:https://www.haomeiwen.com/subject/qyqwectx.html