589 N叉樹的前序遍歷

2021-09-22 02:33:03 字數 967 閱讀 6626

"""#遞迴法

# if root == none:

# return

# res =

# for leaf in root.children:

# res += self.preorder(leaf)

# return [root.val] + res #此處加法先後順序決定了是進行先序還是後序

#迭代法

if root ==

none

:return

queue =

res =

while queue:

curr = queue.pop(0)

if curr.children:

curr.children.reverse(

)#把當前節點的孩子逆置

queue.reverse(

)#把當前節點的兄弟逆置

queue += curr.children#逆置插入列表

queue.reverse(

)#總的逆置

return res

589 N叉樹的前序遍歷

給定乙個 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 chi...

多叉樹的前序遍歷 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...