從上往下列印出二叉樹的每個節點,同層節點從左至右列印。
考點:寬度優先遍歷
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...