给定一个二叉树,返回它的中序 遍历。
示例:
输入: [1,null,2,3]
1
\
2
/
3
输出: [1,3,2]
递归算法比较简单,难点在于list列表需要定义在外面,或者在内部使用addAll函数,连接子list。代码如下:
class Solution {
// List<Integer> list=new ArrayList<>();
public List<Integer> inorderTraversal(TreeNode root) {
List<Integer> list=new ArrayList<>();
if(root==null){
return list;
}
list.addAll(inorderTraversal(root.left));
list.add(root.val);
list.addAll(inorderTraversal(root.right));
return list;
}
}
附上AC结果图,比较菜,后续添加栈的解法。