《劍指offer》22 從上往下列印二叉樹

2021-08-21 08:08:20 字數 905 閱讀 2287

從上往下列印出二叉樹的每個節點,同層節點從左至右列印。

考點:寬度優先遍歷

c++實現:

思路:定義乙個佇列,先將根節點放入,然後依次將根節點的左孩子和右孩子壓入佇列的末尾,然後彈出佇列的隊頭,依次執行即可得到答案。

/*

struct treenode

};*/

class solution

return a;

}};

python實現:

思路:先將根節點放入乙個列表b,並將根節點的值放入a中;然後將根節點的下一層節點放入另乙個列表c,令b = c,做第一步的操作。如果b為空,則遍歷結束。

# -*- coding:utf-8 -*-

# class treenode:

# def __init__(self, x):

# self.val = x

# self.left = none

# self.right = none

class solution:

# 返回從上到下每個節點值列表,例:[1,2,3]

def printfromtoptobottom(self, root):

# write code here

a =

res =

if root == none:

return a

b = [root]

while b:

c =

for i in b:

if i.left != none:

if i.right != none:

b = c

return res

劍指offer 22 從上往下列印二叉樹

從上往下列印出二叉樹的每個節點,同層節點從左至右列印。最近題刷多了看成了從下往上列印。我真是個sb。不過沒關係,思路是把每一層的結點作為乙個arraylist都讀到乙個arraylist中。然後如果從下往上,就是倒著遍歷這個arraylist,如果從上往下就是正著遍歷。層序遍歷當然要用佇列啦。pub...

劍指Offer Python 從上往下列印二叉樹

題目 從上往下列印二叉樹 從上往下列印出二叉樹的每個節點,同層節點從左至右列印。coding utf 8 class treenode def init self,x self.val x self.left none self.right none class solution 返回從上到下每個節...

劍指offer 22 從上到下列印二叉樹

include include include using namespace std struct treenode class solution if q.front right null q.pop return res 重建二叉樹 treenode reconstructbinarytree...