美文网首页leetcode刷题总结 python版
leetcode 107. Binary Tree Level

leetcode 107. Binary Tree Level

作者: PJCK | 来源:发表于2019-07-05 19:28 被阅读0次

    Given a binary tree, return the bottom-up level order traversal of its nodes' values. (ie, from left to right, level by level from leaf to root).

    For example:
    Given binary tree [3,9,20,null,null,15,7],

       3
       / \
      9  20
        /  \
       15   7
    

    return its bottom-up level order traversal as:

    [
      [15,7],
      [9,20],
      [3]
    ]
    

    这个题的解法和leetcode102类似

    在这题中基本是在leetcode102的基础上,添加python上的reverse()就行。

    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 levelOrderBottom(self, root: TreeNode) -> List[List[int]]:
            a = []
            nums = []
            a.append(root)
            if not root:
                return []
            while len(a):
                num = []
                length = len(a)
                for i in range(length):
                    T = a[0]
                    a.pop(0)
                    num.append(T.val)
                    if T.left:
                        a.append(T.left)
                    if T.right:
                        a.append(T.right)
                nums.append(num)
            nums.reverse()
            return nums
    

    相关文章

      网友评论

        本文标题:leetcode 107. Binary Tree Level

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