94.二叉树中序遍历
练习次数
https://leetcode.cn/problems/binary-tree-inorder-traversal/
94. 二叉树的中序遍历
简单 │ 2131 │ 77.2% 的 2M
给定一个二叉树的根节点 root ,返回 它的 中序 遍历 。
示例 1:
│ 输入:root = [1,null,2,3]
│ 输出:[1,3,2]
示例 2:
│ 输入:root = []
│ 输出:[]
示例 3:
│ 输入:root = [1]
│ 输出:[1]
提示:
* 树中节点数目在范围 [0, 100] 内
* -100 <= Node.val <= 100
进阶: 递归算法很简单,你可以通过迭代算法完成吗?
解法
// 递归
/**
* Definition for a binary tree node.
* type TreeNode struct {
* Val int
* Left *TreeNode
* Right *TreeNode
* }
*/
func inorderTraversal(root *TreeNode) []int {
ans := []int{}
var f func(*TreeNode)
f = func(r *TreeNode) {
if r == nil {
return
}
f(r.Left)
ans = append(ans, r.Val)
f(r.Right)
}
f(root)
return ans
}