두 갈래 나무의 차원 반복 II---귀속과 교체
1477 단어 컴퓨터 기반
예를 들어 두 갈래 나무[3,9,20,null,null,15,7],
3
/ \
9 20
/ \
15 7
아래에서 위로 올라가는 단계를 다음과 같이 되돌려줍니다.
[
[15,7],
[9,20],
[3]
]
차례로 돌아가다
class Solution(object):
def levelOrderBottom(self, root):
"""
:type root: TreeNode
:rtype: List[List[int]]
"""
res=[]
def deep(root,deepth):
if not root:
return
if len(res)==deepth:
res.insert(0,[])
res[-(deepth+1)].append(root.val)
deep(root.left,deepth+1)
deep(root.right,deepth+1)
deep(root,0)
return res
교체하다
class Solution:
def levelOrderBottom(self, root: TreeNode) -> List[List[int]]:
from collections import deque
if not root: return []
queue = deque()
queue.appendleft(root)
res = []
while queue:
tmp = []
n = len(queue)
for _ in range(n):
node = queue.pop()
tmp.append(node.val)
if node.left:
queue.appendleft(node.left)
if node.right:
queue.appendleft(node.right)
res.insert(0, tmp)
return res
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
python은 두 갈래 트리의 앞뒤 순서를 차원 순서대로 반복합니다. 귀속과 비귀속Reference https://blog.yangx.site/2016/07/22/Python-binary-tree-traverse/...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.