leetcode python 589 N叉樹的前序遍歷
阿新 • • 發佈:2019-01-10
題目:
給定一個N叉樹,返回其節點值的前序遍歷。
例如,給定一個 3叉樹 :
返回其前序遍歷: [1,3,5,6,2,4]。
思路:
首先得明白,這個N叉樹是什麼樣的資料結構定義的。val是節點的值,children是一個列表,這個列表儲存了其所有節點。
前序遍歷,即首先把根節點的值放到list中,然後再遍歷其子節點們的值,同時對於每一個子節點也做同樣的操作。
""" # Definition for a Node. class Node(object): def __init__(self, val, children): self.val = val self.children = children """ class Solution(object): def preorder(self, root): """ :type root: Node :rtype: List[int] """ res=[] if not root: return res res.append(root.val) for child in root.children: res.extend(self.preorder(child)) return res