엔지니어 게시판
LeetCode 솔루션 분류

[7/13] 102. Binary Tree Level Order Traversal

컨텐츠 정보

본문

Medium
9071175Add to ListShare

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

 

Example 1:

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

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
Accepted
1,337,731
Submissions
2,168,069

관련자료

댓글 1

학부유학생님의 댓글

  • 익명
  • 작성일
Runtime: 56 ms, faster than 44.73% of Python3 online submissions for Binary Tree Level Order Traversal.
Memory Usage: 14.2 MB, less than 84.23% of Python3 online submissions for Binary Tree Level Order 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

import collections
class Solution:
    def levelOrder(self, root: Optional[TreeNode]) -> List[List[int]]:
        deque = collections.deque([])
        
        if root: deque.append(root)
        res = []
        
        while deque:
            nodes_in_level = []
            for i in range(len(deque)):
                node = deque.popleft()
                nodes_in_level.append(node.val)
                if node.left: deque.append(node.left)
                if node.right: deque.append(node.right)
            res.append(nodes_in_level)
        
        return res
전체 396 / 1 페이지
번호
제목
이름

최근글


인기글


새댓글


Stats


  • 현재 접속자 312 명
  • 오늘 방문자 4,695 명
  • 어제 방문자 5,793 명
  • 최대 방문자 11,134 명
  • 전체 회원수 1,106 명
알림 0