1、题目描述
给定一个二叉树,返回它的 后序 遍历。
示例:
输入: [1,null,2,3] 1 2 / 3 输出: [3,2,1]
进阶: 递归算法很简单,你可以通过迭代算法完成吗?
2、题解
2.1、解法一
原理:迭代算法
# Definition for a binary tree node. # class TreeNode: # def __init__(self, x): # self.val = x # self.left = None # self.right = None class Solution: def postorder(self, res,root): """递归实现后续遍历""" if root == None: return self.postorder(res, root.left) self.postorder(res, root.right) print(root.val) res.append(root.val) def postorderTraversal(self, root): """ :type root: TreeNode :rtype: List[int] """ res = [] self.postorder(res,root) return res