原题
https://leetcode.cn/problems/binary-tree-postorder-traversal/description/
思路
递归
复杂度
时间:O(n)
空间:O(n)
Python代码
# Definition for a binary tree node.
# class TreeNode:
# def __init__(self, val=0, left=None, right=None):
# self.val = val
# self.left = left
# self.right = right
class Solution:
def postorderTraversal(self, root: Optional[TreeNode]) -> List[int]:
ans = []
def postOrder(root):
if not root:
return
postOrder(root.left)
postOrder(root.right)
ans.append(root.val)
postOrder(root)
return ans
Go代码
/**
* Definition for a binary tree node.
* type TreeNode struct {
* Val int
* Left *TreeNode
* Right *TreeNode
* }
*/
func postorderTraversal(root *TreeNode) []int {
var ans []int
var postOrder func(*TreeNode)
postOrder = func(root *TreeNode) {
if root == nil {
return
}
postOrder(root.Left)
postOrder(root.Right)
ans = append(ans, root.Val)
}
postOrder(root)
return ans
}
17万+

被折叠的 条评论
为什么被折叠?



