94二叉树中序遍历
//这里来说一下递归顺序,先往inorder传根节点和链表res,然后一直递推根节点的左子叶直到为空开始返回,既然root为空则返回上一个函数即root.left=下一个函数的left。,然后把值加入res,紧接着把root带入下一个递归,则root.right也为0,返回上一个函数该函数已经执行完代码返回上一个函数,root节点也变成上一个,将其放入数组后继续执行代码,进行左子树的递归当前root.left不为空继续进行右子树递归为null返回
class Solution {
public List<Integer> inorderTraversal(TreeNode root) {
List<Integer> res = new ArrayList<Integer>();
inorder(root, res);
return res;
}
public void inorder(TreeNode root, List<Integer> res) {
if (root == null) {
return;
}
inorder(root.left, res);
res.add(root.val);
inorder(root.right, res);
}
}