一、145. 二叉树的后序遍历
1.1、题目描述
1.2.1、递归
class Solution:
def __init__(self
) -> None:
self
.ret
= []
def postorderTraversal(self
, root
: TreeNode
) -> List
[int]:
if not root
:
return []
self
.pt
(root
)
return self
.ret
def pt(self
, root
: TreeNode
) -> List
[int]:
if root
.left
:
self
.pt
(root
.left
)
if root
.right
:
self
.pt
(root
.right
)
self
.ret
.append
(root
.val
)
1.2.2、迭代
class Solution:
def __init__(self
) -> None:
self
.ret
= []
def postorderTraversal(self
, root
: TreeNode
) -> List
[int]:
if not root
:
return []
que
= [root
]
while que
:
node
= que
.pop
()
if node
:
self
.ret
.append
(node
.val
)
if node
.left
:
que
.append
(node
.left
)
if node
.right
:
que
.append
(node
.right
)
return self
.ret
[::-1]
转载请注明原文地址: https://mac.8miu.com/read-504003.html