Binary Tree Level Order Traverse

2026. 3. 15. 10:12Algorithm/Leetcode, Lintcode, HackerRank, etc.

    목차
반응형
# 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: Optional[TreeNode]) -> List[List[int]]:
        if not root:
            return []

        q = collections.deque([root])
        res = []

        while q:
            nq = collections.deque()
            line = []

            while q:
                cur = q.popleft()
                if not cur:
                    continue 

                line += cur.val,

                if cur.left:
                    nq += cur.left,

                if cur.right:
                    nq += cur.right,

            res.insert(0, line)
            q = nq

        return res

반응형

'Algorithm > Leetcode, Lintcode, HackerRank, etc.' 카테고리의 다른 글

Longest Univalve path  (0) 2026.03.15
Implement Trie  (0) 2026.03.15
Shortest Path in Binary Matrix  (0) 2026.03.12
Network Delay Time  (0) 2026.03.12
Cheapest Flights Within K Stops  (0) 2026.03.12