chapter-four/0100~0199/0145.Binary-Tree-Postorder-Traversal

145. Binary Tree Postorder Traversal

题目

Given a binary tree, return the postorder traversal of its nodes' values.

Example:


Input: [1,null,2,3]
   1
    \
     2
    /
   3

Output: [3,2,1]

Follow up: Recursive solution is trivial, could you do it iteratively?

题目大意

后根遍历一颗树。

解题思路

递归的实现方法,见代码。

代码

package leetcode /** * Definition for a binary tree node. * type TreeNode struct { * Val int * Left *TreeNode * Right *TreeNode * } */ func postorderTraversal(root *TreeNode) []int { var result []int postorder(root, &result) return result } func postorder(root *TreeNode, output *[]int) { if root != nil { postorder(root.Left, output) postorder(root.Right, output) *output = append(*output, root.Val) } }