# 二叉树的中序遍历 (Binary Tree Inorder Traversal) ## 题目描述 给定一个二叉树的根节点,返回它的中序遍历。 ## 解题思路 ### 方法一:递归 ### 方法二:迭代(栈) ## 解法 ```go func inorderTraversal(root *TreeNode) []int { result := []int{} stack := []*TreeNode{} curr := root for curr != nil || len(stack) > 0 { for curr != nil { stack = append(stack, curr) curr = curr.Left } curr = stack[len(stack)-1] stack = stack[:len(stack)-1] result = append(result, curr.Val) curr = curr.Right } return result } ``` **复杂度:** O(n) 时间,O(n) 空间