二叉树的中序遍历

描述
给定一个二叉树的根节点root,返回它的中序遍历结果。

题解

  • 遍历左子树
  • 打印根节点
  • 遍历右子树
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
package main

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

/**
*
*
* @param root TreeNode类
* @return int整型一维数组
*/
func inorderTraversal( root *TreeNode ) []int {
// write code here
if root == nil {
return nil
}

inorderVals := make([]int, 0)
inorder(&inorderVals, root)

return inorderVals
}

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