zoukankan      html  css  js  c++  java
  • leecode刷题(30)-- 二叉树的后序遍历

    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
    

    总结

    对比如下:

    image.png

  • 相关阅读:
    newusers和chpasswd
    docker container link
    ambassador docker container linking
    Forwarding a Range of Ports in VirtualBox
    NekoHTML and Dom4j
    MySQL DATE_FORMAT() 函数
    POJ 1236 Network of Schools(强连通缩点)
    HDU 1269 迷宫城堡(强连通)
    Codeforces 581C Developing Skills
    HDU 3849(桥)
  • 原文地址:https://www.cnblogs.com/weixuqin/p/10822221.html
Copyright © 2011-2022 走看看