32 從上到下列印二叉樹

2022-08-03 21:12:19 字數 2349 閱讀 3145

從上到下列印出二叉樹的每個節點,同一層的節點按照從左到右的順序列印。

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

返回:[3,9,20,15,7]

**********===佇列**********===

#

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[int]:

ifnot

root:

return

from collections import

deque

q =deque()

res =

while

q: cur =q.popleft()

ifcur.left:

ifcur.right:

return res

從上到下按層列印二叉樹,同一層的節點按從左到右的順序列印,每一層列印到一行。

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

返回其層次遍歷結果:

[

[3],

[9,20],

[15,7]

]

#

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]]:

ifnot

root:

return

from collections import

deque

q =deque()

ans =

while

q: tmp =deque()

res =

while

q: cur =q.popleft()

ifcur.left:

ifcur.right:

q =tmp

return ans

請實現乙個函式按照之字形順序列印二叉樹,即第一行按照從左到右的順序列印,第二層按照從右到左的順序列印,第三行再按照從左到右的順序列印,其他行以此類推。

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

返回其層次遍歷結果:

[

[3],

[20,9],

[15,7]

]

#

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]]:

ifnot

root:

return

from collections import

deque

q =deque()

ans =

flag = 1

while

q: tmp =deque()

res =

while

q: cur =q.popleft()

ifcur.left:

ifcur.right:

q =tmp

if flag == 1:

else

: flag = -flag

return ans

從上到下列印二叉樹

原理是二叉樹的層次遍歷 可以用乙個佇列輔助,先將二叉樹根節點入隊,然後出隊,將該節點存入vector中,之後判斷根節點的左子樹和右子樹是否為空,若不為空,依次入隊。然後出隊,再訪問出隊的結點是否有左右子樹,以此類推。核心 vectorprintfromtoptobottom treenode roo...

從上到下列印二叉樹

例如 給定二叉樹 3,9,20,null,null,15,7 3 9 20 15 7 返回 3,9,20,15,7 2.1 思路分析 題目要求的二叉樹從上到下列印 即按層列印 又稱為二叉樹的廣度優先搜尋 bfs bfs通常借助佇列的先入先出特性來實現。2.2 演算法流程 特例處理 當樹的根結點為空,...

從上到下列印二叉樹

從上到下列印出二叉樹的每個節點,同一層的節點按照從左到右的順序列印。例如 給定二叉樹 3,9,20,null,null,15,7 3 9 20 15 7返回 3,9,20,15,7 解題思路 演算法流程 特例處理 當樹的根節點為空,則直接返回空列表 初始化 列印結果列表 res 包含根節點的佇列 q...