1. 程式人生 > >劍指offer之從上到下列印二叉樹(Python)

劍指offer之從上到下列印二叉樹(Python)

題目描述

從上往下列印出二叉樹的每個節點,同層節點從左至右列印。 思路:用兩個list,一個用來裝節點,一個用來裝節點的value。對於裝節點的這個list,我們每次彈出最前面的節點,並依次將左節點和右節點加在後面。不管怎麼樣,這個裝節點的list都能保證,將節點從上到下,同層節點從左到右進行新增、彈出。 程式碼如下:
class TreeNode():
    def __init__(self,x):
        self.val = x
        self.left = None
        self.right = None
def function(root):
    A = []
    result = []
    if not root:
        return result
    A.append(root)
    while A:
        current_root = A.pop(0)
        result.append(current_root.val)
        if current_root.left:
            A.append(current_root.left)
        if current_root.right:
            A.append(current_root.right)
    return result