• leetcode_145. 二叉树的后序遍历


    给定一个二叉树,返回它的 后序 遍历。
    
    示例:
    
    输入: [1,null,2,3]  
       1
        
         2
        /
       3 
    
    输出: [3,2,1]
    进阶: 递归算法很简单,你可以通过迭代算法完成吗?
    
    来源:力扣(LeetCode)
    链接:https://leetcode-cn.com/problems/binary-tree-postorder-traversal
    著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。
    
    # Definition for a binary tree node.
    # class TreeNode:
    #     def __init__(self, val=0, left=None, right=None):
    #         self.val = val
    #         self.left = left
    #         self.right = right
    class Solution:
        def postorderTraversal(self, root: TreeNode) -> List[int]:
            if not root:return []
            return self.postorderTraversal(root.left)+self.postorderTraversal(root.right)+[root.val]
    
    # Definition for a binary tree node.
    # class TreeNode:
    #     def __init__(self, val=0, left=None, right=None):
    #         self.val = val
    #         self.left = left
    #         self.right = right
    class Solution:
        def postorderTraversal(self, root: TreeNode) -> List[int]:
            def postOrder(root:TreeNode)->None:
                if not root :return
                postOrder(root.left)
                postOrder(root.right)
                ls.append(root.val)
    
    
            ls=[]
            postOrder(root)
            return ls
    
    # Definition for a binary tree node.
    # class TreeNode:
    #     def __init__(self, val=0, left=None, right=None):
    #         self.val = val
    #         self.left = left
    #         self.right = right
    class Solution:
        def postorderTraversal(self, root: TreeNode) -> List[int]:
            if not root:
                return []
            ls=[]
            stack=[]
            out=[]
            cur=root
            while stack or cur:
                if cur:
                    stack.append(cur)
                    out.append(cur)
                    cur=cur.right
                else:
                    cur=stack.pop()
                    cur=cur.left
            while(out):
                t=out.pop()
                ls.append(t.val)
            return ls
    
  • 相关阅读:
    动态传参
    函数的介绍
    文件的操作
    send email with formatted table
    minimize and close window with customed winform
    python algorithm
    something important about docker
    book list
    which language is suitable for what to do
    Find Duplicate Items in list fast
  • 原文地址:https://www.cnblogs.com/hqzxwm/p/14092055.html
Copyright © 2020-2023  润新知