给定一个二叉树,返回它的中序 遍历。
示例:
输入: [1,null,2,3]
1
\
2
/
3
输出: [1,3,2]
- 递归写法
import java.util.ArrayList;
import java.util.List;
public class Main {
public static void main(String[] args) {
TreeNode t1 = new TreeNode(1);
TreeNode t2 = new TreeNode(2);
TreeNode t3 = new TreeNode(3);
t1.right=t2;
t2.left=t3;
System.out.println(inorderTraversal(t1).toString());
}
public static void tree(TreeNode root,List<Integer> rs){
if(root==null){
return;
}
tree(root.left,rs);
rs.add(root.val);
tree(root.right,rs);
}
public static List<Integer> inorderTraversal(TreeNode root) {
List<Integer> rs = new ArrayList<>();
tree(root,rs);
return rs;
}
}