您好,登錄后才能下訂單哦!
這期內容當中小編將會給大家帶來有關怎樣實現從上到下打印python二叉樹,文章內容豐富且以專業的角度為大家分析和敘述,閱讀完這篇文章希望大家可以有所收獲。
從上到下打印出二叉樹的每個節點,同一層的節點按照從左到右的順序打印。
給定二叉樹: [3,9,20,null,null,15,7],
3
/ \
9 20
/ \
15 7
[3,9,20,15,7]
O(N)
O(N)
class Solution:
def levelOrder(self, root: TreeNode) -> List[int]:
# 方案1: 列表+for循環
if not root:
return []
q = [root]
for node in q:
# 只將非空子節點追加到隊列
if node.left:
q.append(node.left)
if node.right:
q.append(node.right)
return [x.val for x in q]
import collections
class Solution:
def levelOrder(self, root: TreeNode) -> List[int]:
# 方案2: 雙端隊列+while循環
if not root:
return []
q = collections.deque([root])
res = []
while q:
node = q.popleft()
res.append(node.val)
if node.left:
q.append(node.left)
if node.right:
q.append(node.right)
return res
上述就是小編為大家分享的怎樣實現從上到下打印python二叉樹了,如果剛好有類似的疑惑,不妨參照上述分析進行理解。如果想知道更多相關知識,歡迎關注億速云行業資訊頻道。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。