劍指offer32 1 不分行從上往下列印二叉樹

2021-09-24 05:43:27 字數 1524 閱讀 8421

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

樣例

輸入如下圖所示二叉樹[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...