從上往下列印出二叉樹的每個結點,同一層的結點按照從左到右的順序列印。
樣例
輸入如下圖所示二叉樹[8, 12, 2, null, null, 6, null, 4, null, null, null]
8/ \
12 2/6
/4輸出:[8, 12, 2, 6, 4]
思路:
用乙個佇列存放樹節點,層次遍歷訪問所有結點,並且儲存其數值。
acwing-43 c++ code:
/**
* definition for a binary tree node.
* struct treenode
* };
*/class
solution;}
queue> q_node;
vector<
int> res;
q_node.
push
(root)
; res.
push_back
(root-
>val)
;while
(!q_node.
empty()
)if(q_node.
front()
->right)
q_node.
pop();
}return res;}}
;
acwing-43 python code:
# definition for a binary tree node.
# class treenode(object):
# def __init__(self, x):
# self.val = x
# self.left = none
# self.right = none
class
solution
:def
printfromtoptobottom
(self, root)
:"""
:type root: treenode
:rtype: list[int]
"""if root ==
none
:return
s_queue =
res =
while
len(s_queue)
:if s_queue[0]
.left:0]
.left.val)0]
.left)
if s_queue[0]
.right:0]
.right.val)0]
.right)
s_queue.remove(s_queue[0]
)return res
Python劍指offer 分行從上到下列印二叉樹
從上到下按層列印二叉樹,同一層的節點按照從左到右 的順序列印,每一層列印到第一行,例如本題中上乙個問題的二叉樹 輸出形式會是 86 10 5 7 9 11 這道題和前面一道題十分類似,也可以用乙個佇列來儲存要列印的節點。為了把二叉樹的每一行單獨列印到一行裡,我們需要兩個變數 乙個變數表示當前層中還沒...
劍指offer 32 1到n整數中2出現的次數
題目 從1到n個整數中輸出2出現的次數 解法1 同一每個數字中包含2的次數並相加 public class main public static int get2count int n return result public static int getnum int num num num 10...
劍指Offer系列32 1 從上到下列印二叉樹
從上到下列印出二叉樹的每個節點,同一層的節點按照從左到右的順序列印。例如 給定二叉樹 3,9,20,null,null,15,7 3 9 20 15 7 返回 3,9,20,15,7 python definition for a binary tree node.class treenode de...