//golang答案
package main

import "fmt"

/**
 * Created by Chris on 2021/8/1.
 */

type TreeNode struct{
	Val int
	Left *TreeNode
	Right *TreeNode
}

func postorderTraversal( root *TreeNode ) []int {
	var res []int
	recursion(&res, root)
	return res
}

func recursion(res *[]int, node *TreeNode){
	if node == nil{
		return
	}
	recursion(res, node.Left)
	recursion(res, node.Right)
	*res = append(*res, node.Val)
}

func main(){
	node1 := &TreeNode{1, nil, nil}
	node2 := &TreeNode{2, nil, nil}
	node3 := &TreeNode{3, nil, nil}

	node1.Right = node2
	node2.Left = node3

	var res []int
	res = postorderTraversal(node1)
	fmt.Println(res)
}