Skip to content

Latest commit

 

History

History
30 lines (25 loc) · 517 Bytes

File metadata and controls

30 lines (25 loc) · 517 Bytes

Code

/**
 * Definition for a binary tree node.
 * type TreeNode struct {
 *     Val int
 *     Left *TreeNode
 *     Right *TreeNode
 * }
 */

func postorder(root *TreeNode, traversal []int) []int {
	if root == nil {
		return traversal
	}

	traversal = postorder(root.Left, traversal)
	traversal = postorder(root.Right, traversal)
	traversal = append(traversal, root.Val)

	return traversal
}

func postorderTraversal(root *TreeNode) []int {
	traversal := postorder(root, []int{})
	return traversal
}