LeetCode 102. 두 갈래 나무의 층계는 Binary Tree Level Order Traversal
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의 역할.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
LintCode - 175.두 갈래 나무를 뒤집다
두 갈래 나무 한 그루를 뒤집다
당신은 실제 면접에서 이 문제를 만난 적이 있습니까?
Yes
예제...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.
# 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
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
LintCode - 175.두 갈래 나무를 뒤집다두 갈래 나무 한 그루를 뒤집다 당신은 실제 면접에서 이 문제를 만난 적이 있습니까? Yes 예제...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.