二叉樹的層次遍歷 II 遞迴和迭代

2021-09-26 01:39:38 字數 1075 閱讀 6926

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

例如:給定二叉樹 [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,)

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()

res =

while queue:

tmp =

n = len(queue)

for _ in range(n):

node = queue.pop()

if node.left:

if node.right:

res.insert(0, tmp)

return res

二叉樹層次遍歷II

給定乙個二叉樹,返回其節點值自底向上的層次遍歷。即按從葉子節點所在層到根節點所在的層,逐層從左向右遍歷 例如 給定二叉樹 3,9,20,null,null,15,7 3 9 20 15 7 返回其自底向上的層次遍歷為 15,7 9,20 3 definition for a binary tree ...

二叉樹的層次遍歷 II

給出一棵二叉樹,返回其節點值從底向上的層次序遍歷 按從葉節點所在層到根節點所在的層遍歷,然後逐層從左往右遍歷 您在真實的面試中是否遇到過這個題?yes 樣例給出一棵二叉樹,3 9 20 15 7按照從下往上的層次遍歷為 15,7 9,20 3 definition of treenode class...

二叉樹的層次遍歷 II

給出一棵二叉樹,返回其節點值從底向上的層次序遍歷 按從葉節點所在層到根節點所在的層遍歷,然後逐層從左往右遍歷 例1 輸入 輸出 2,3 1 解釋 1 2 3 它將被序列化為 層次遍歷例2 輸入 輸出 15,7 9,20 3 解釋 3 9 20 15 7 它將被序列化為 層次遍歷 definition...