后序遍历的迭代写法
和室友研究算法时突然忘了怎么写的,甚为恼怒,于是再次记录
class TreeNode:
def __init__(self, val=0, left=None, right=None):
self.val = val
self.left = left
self.right = right
def postorderTraversal(root):
res = []
stack = [root]
while stack:
node = stack.pop()
if node:
res.append(node.val)
# 先压左,再压右,出栈先右后左
stack.append(node.left)
stack.append(node.right)
return res[::-1] # 整体反转
原创
后续遍历迭代版
本文采用 CC BY-NC-SA 4.0 许可协议,转载请注明出处。
评论交流
欢迎留下你的想法