Files
LeetCode-Go/website/content/ChapterFour/0145.Binary-Tree-Postorder-Traversal.md
2020-08-09 00:39:24 +08:00

71 lines
928 B
Markdown

# [145. Binary Tree Postorder Traversal](https://leetcode.com/problems/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?
## 题目大意
后根遍历一颗树。
## 解题思路
递归的实现方法,见代码。
## 代码
```go
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)
}
}
```