/**
golang语言编写的答案
*/
type TreeNode struct{
    Val int
    LeftNode *TreeNode
    RightNode *TreeNode
}

func inorderTraversal( root *TreeNode ) []int {
    var res []int
    var inorder func(node *TreeNode)
    inorder = func(node *TreeNode){
        if node == nil{
            return
        }
        inorder(node.LeftNode)
        res = append(res, node.Val)
        inorder(node.RightNode)
    }
    inorder(root)
    return res
}

func main() {
    var node1 = &TreeNode{1, nil, nil}
    var node2 = &TreeNode{2, nil, nil}
    var node3 = &TreeNode{3, nil, nil}
    node1.RightNode = node2
    node2.LeftNode = node3

    res := inorderTraversal(node1)
    fmt.Println(res)
}