LeetCode 102. 두 갈래 나무의 층계는 Binary Tree Level Order Traversal

Table of Contents
1. 중국어 버전
영어판
3. My answer
4. 문제 풀이 보고서

1. 중국어 버전


두 갈래 나무를 드리겠습니다. 층순으로 훑어보는 노드 값을 되돌려 주십시오.(즉, 왼쪽에서 오른쪽으로 모든 노드에 층층이 접근한다.)
 
예: 두 갈래 나무:[3,9,20,null,null,15,7],
3/\9 20/\15 7은 다음 단계를 반복합니다.
[   [3],   [9,20],   [15,7] ]
출처: 리코드(LeetCode) 링크:https://leetcode-cn.com/problems/binary-tree-level-order-traversal저작권은 인터넷 소유에 귀속된다.상업 전재는 정부에 연락하여 권한을 부여하고, 비상업 전재는 출처를 명시해 주십시오.

영어판


Given a binary tree, return the level order traversal of its nodes' values. (ie, from left to right, level by level).
For example: Given binary tree [3,9,20,null,null,15,7],     3    /\  9  20    / \   15   7 return its level order traversal as: [   [3],   [9,20],   [15,7] ]

3. My answer

# Definition for a binary tree node.
# class TreeNode:
#     def __init__(self, x):
#         self.val = x
#         self.left = None
#         self.right = None

class Solution:
    def levelOrder(self, root: TreeNode) -> List[List[int]]:
        if not root:
            return []
        res = []
        cur_level = [root]
        while cur_level:
            cur_val = []
            next_level = []
            for node in cur_level:
                cur_val.append(node.val)
                if node.left:
                    next_level.append(node.left)
                if node.right:
                    next_level.append(node.right)
            cur_level = next_level
            res.append(cur_val)
        
        return res

4. 문제 풀이 보고서


이 문제는 BFS를 사용하여 계층을 반복합니다.
list로 대기열을 완성하는 기능: 대기열은 팝업과 압축 과정이 있습니다. 이 문제는list가 다음 층의 노드 목록으로 값을 부여합니다.
제목에서 출력할 값은 노드의 값입니다. 즉cur_val의 역할.

좋은 웹페이지 즐겨찾기