leetcode 107 二叉樹的層次遍歷 II

2021-10-09 11:45:45 字數 1372 閱讀 5395

目錄

一、題目內容

二、解題思路

三、**

給定乙個二叉樹,返回其節點值自底向上的層次遍歷。 (即按從葉子節點所在層到根節點所在的層,逐層從左向右遍歷)

例如:

給定二叉樹 [3,9,20,null,null,15,7],

3

/ \9  20

/  \

15   7

返回其自底向上的層次遍歷為:

[

[15,7],

[9,20],

[3]]

佇列每次儲存每個深度的所有節點,每層開始新建乙個list存入,之後在該list中新增本深度的元素。

# definition for a binary tree node.

class treenode:

def __init__(self, x):

self.val = x

self.left = none

self.right = none

class solution:

def levelorderbottom(self, root: treenode) -> list:

if not root:

return

res =

queue = [root]

depth = 1

while queue:

next_q =

for q in queue:

if len(res) < depth:

else:

if q.left:

if q.right:

depth += 1

queue = next_q

res.reverse()

return res

if __name__ == '__main__':

a = treenode(3)

a.left = treenode(9)

a.right = treenode(20)

a.right.left = treenode(15)

a.right.right = treenode(7)

s = solution()

ans = s.levelorderbottom(a)

print(ans)

LeetCode 107 二叉樹的層次遍歷

題目描述 給定乙個二叉樹,返回其節點值自底向上的層次遍歷。即按從葉子節點所在層到根節點所在的層,逐層從左向右遍歷 例如 給定二叉樹 3,9,20,null,null,15,7 3 9 20 15 7返回其自底向上的層次遍歷為 15,7 9,20 3 解題思路 此題跟102基本一樣,就是在輸出時是自底...

leetCode 107 二叉樹層次遍歷II

按層次從頂至下遍歷,將每層結點加在佇列尾部,每次從頭部取出一層結點。使用棧將結果反轉。definition for a binary tree node.public class treenode class solution if root.right null stack.push temp 棧...

leetcode 107 二叉樹的層次遍歷 II

前言 python刷leetcode題解答目錄索引 正文 給定乙個二叉樹,返回其節點值自底向上的層次遍歷。即按從葉子節點所在層到根節點所在的層,逐層從左向右遍歷 例如 給定二叉樹 3,9,20,null,null,15,7 3 9 20 15 7返回其自底向上的層次遍歷為 15,7 9,20 3 d...