题目 给定一个二叉树的根节点 root ,返回它的 中序 遍历。
示例 1:
输入:root = [1,null,2,3] 输出:[1,3,2]
示例 2:
输入:root = [] 输出:[]
示例 3:
输入:root = [1] 输出:[1]
示例 4:
输入:root = [1,2] 输出:[2,1]
示例 5:
输入:root = [1,null,2] 输出:[1,2]
基本思路二叉树的中序遍历:按照访问左子树——根节点——右子树的方式遍历这棵树,而在访问左子树或者右子树的时候我们按照同样的方式遍历,直到遍历完整棵树。因此整个遍历过程天然具有递归的性质。
java递归实现
class Solution {
public List inorderTraversal(TreeNode root) {
List res = new ArrayList();//定义一个列表用来存储
inorder(root, res);
return res;
}
//定义递归函数
public void inorder(TreeNode root, List res){
//递归终止条件
if (root == null)
{
return;
}
//符合左中右
inorder(root.left, res);
res.add(root.val);
inorder(root.right, res);
}
}



