[Solved] Given the root of a binary tree, return the bottom-up level order traversal of its nodes’ values. (i.e., from left to right, level by level from leaf to root).

Leetcode solutions MLP Feature Image

Table of Contents

Question

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

Example 1:

tree1
Input: root = [3,9,20,null,null,15,7]
Output: [[15,7],[9,20],[3]]

Example 2:

Input: root = [1]
Output: [[1]]

Example 3:

Input: root = []
Output: []

Constraints:

  • The number of nodes in the tree is in the range [0, 2000].
  • -1000 <= Node.val <= 1000

Python Solution

# 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 levelOrderBottom(self, root: TreeNode) -> List[List[int]]:
        if root==None:return[]
        q = [root]
        res = []
        while q:
            q_temp = []
            re = []
            while q:
                x = q.pop(0)
                re.append(x.val)
                if x.left:q_temp.append(x.left)
                if x.right:q_temp.append(x.right)
            q = q_temp
            res.insert(0,re)
        return res

Leave a Comment

Your email address will not be published. Required fields are marked *

Scroll to Top