723 B
723 B
二叉树的中序遍历 (Binary Tree Inorder Traversal)
题目描述
给定一个二叉树的根节点,返回它的中序遍历。
解题思路
方法一:递归
方法二:迭代(栈)
解法
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) 空间