分析:
递归实现,每次递归添加当前节点。
import java.util.*;
public class Solution {
ArrayList pre = new ArrayList();
ArrayList in = new ArrayList();
ArrayList post = new ArrayList();
public int[][] threeOrders (TreeNode root) {
// write code here
if(root == null) return new int[3][0];
preOrder(root);
inOrder(root);
postOrder(root);
int len = pre.size();
int[][] res = new int[3][len];
for(int i = 0;i < len; i++){
res[0][i] = pre.get(i);
res[1][i] = in.get(i);
res[2][i] = post.get(i);
}
return res;
}
public void preOrder(TreeNode node){
pre.add(node.val);
if(node.left != null) preOrder(node.left);
if(node.right != null) preOrder(node.right);
return;
}
public void inOrder(TreeNode node){
if(node.left != null){
inOrder(node.left);
}
in.add(node.val);
if(node.right != null){
inOrder(node.right);
}
return;
}
public void postOrder(TreeNode node){
if(node.left != null){
postOrder(node.left);
}
if(node.right != null){
postOrder(node.right);
}
post.add(node.val);
return;
}
}
提交结果:答案正确 运行时间:30ms 占用内存:11140KB 使用语言:Java 用例通过率:100.00%



