import java.util.*;
public class Main {
/**
//该段代码仅用于调试,提交时请注释该段代码
class TreeNode<T> {
public T data;
public TreeNode<T> left;
public TreeNode<T> right;
}
*/
public int[] solution(TreeNode<Integer> root) {
if (root == null) return new int[0];
List<Integer> res =traverse(root);
int[] ret = new int[res.size()];
for(int i = 0 ;i < ret.length; i++) {
ret[i] = res.get(i);
}
return ret;
}
List<Integer> traverse(TreeNode<Integer> root) {
if (root == null) return new ArrayList<Integer>();
List<Integer> res = new ArrayList<>();
res.add(root.data);
res.addAll(traverse(root.left));
res.addAll(traverse(root.right));
return res;
}
}