589 N叉樹的前序遍歷

2022-01-26 14:17:19 字數 792 閱讀 7363

給定乙個 n 叉樹,返回其節點值的前序遍歷。

例如,給定乙個3叉樹:

返回其前序遍歷:[1,3,5,6,2,4]

"""

# definition for a node.

class node(object):

def __init__(self, val, children):

self.val = val

self.children = children

"""class

solution(object):

defpreorder(self, root):

""":type root: node

:rtype: list[int]

"""ret

#初始化結果陣列

if root is none:return #

樹空的情況返回,所以這裡不能return none

#遞迴時候把該節點加入ret。 root相當於上層的x

#有個問題,每次遞迴會把ret置空,導致最後ret=

for x in

root.children:

#這一步很重要,遞迴時把每一層的ret元素聯合起來

ret.extend(self.preorder(x))

return

ret

589 N叉樹的前序遍歷

遞迴法 if root none return res for leaf in root.children res self.preorder leaf return root.val res 此處加法先後順序決定了是進行先序還是後序 迭代法 if root none return queue re...

多叉樹的前序遍歷 589 N叉樹的前序遍歷

給定乙個 n 叉樹,返回其節點值的前序遍歷。n叉樹的定義如下 class node node int val,vector children val val children children 例如給定乙個 3叉樹 3 2 4 5 6返回其前序遍歷 1,3,5,6,2,4 說明 遞迴法很簡單,你可以...

Leetcode589N叉樹的前序遍歷

給定乙個 n 叉樹,返回其節點值的前序遍歷。思路 發現了前序中序後序遍歷的非遞迴實現,肯定 definition for a node.class node node int val,vector children class solution s.push back node val return...