バイナリツリーを考えると、そのノードの値の後順トラバーサルを返します。
例:
入力:[1、NULL、2,3]
1
2
/
3
出力:[3,2,1]
再帰的なITシンプル
func postorderTraversal(root *TreeNode) []int {
if root == nil {
return []int{}
}
res := []int{}
postOrder(root, &res)
return res
}
func postOrder(root *TreeNode, ans *[]int) {
if root == nil {
return
}
postOrder(root.Left, ans)
postOrder(root.Right, ans)
*ans = append(*ans, root.Val)
}