劍指offer之從上到下列印二叉樹(Python)
阿新 • • 發佈:2019-01-01
題目描述
從上往下列印出二叉樹的每個節點,同層節點從左至右列印。 思路:用兩個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