一、590. N叉树的后序遍历
1.1、题目描述
1.2.1、递归
"""
# Definition for a Node.
class Node:
def __init__(self, val, children):
self.val = val
self.children = children
"""
class Solution:
def __init__(self
) ->None:
self
.ret
= []
def postorder(self
, root
: 'Node') -> List
[int]:
if not root
:
return []
self
.postorderT
(root
)
return self
.ret
def postorderT(self
, root
: 'Node') -> List
[int]:
if root
.children
:
for child
in root
.children
:
self
.postorder
(child
)
if root
:
self
.ret
.append
(root
.val
)
1.2.2、迭代
class Solution:
def __init__(self
) ->None:
self
.ret
= []
def postorder(self
, root
: 'Node') -> List
[int]:
if not root
:
return []
que
= [root
]
while que
:
node
= que
.pop
()
if node
:
self
.ret
.append
(node
.val
)
for child
in node
.children
:
que
.append
(child
)
return self
.ret
[::-1]
转载请注明原文地址: https://mac.8miu.com/read-503722.html