18ms(超过93%) 9600k(超过99%)
import java.util.*;
/*
* public class TreeNode {
* int val = 0;
* TreeNode left = null;
* TreeNode right = null;
* }
*/
public class Solution {
/**
*
* @param root TreeNode类 the root of binary tree
* @return int整型二维数组
*/
public int[][] threeOrders (TreeNode root) {
// write code here
List<Integer> result = new ArrayList<>();
preOrder(root,result);
int[][] nn = new int[3][result.size()];
int[] pre = convertListToArray(result);
nn[0] = pre; result.clear();
inOrder(root,result);
int[] in = convertListToArray(result);
nn[1] = in;
result.clear();
postOrder(root,result);
int[] post = convertListToArray(result);
nn[2] = post;
return nn;
}
public int[] convertListToArray(List<Integer> list){
int[] nn = new int[list.size()];
for(int i = 0;i<list.size();i++){
nn[i] = list.get(i);
}
return nn;
}
/**
*
* 先序
*/
public List<Integer> preOrder(TreeNode node,List<Integer> result){
if(node == null){
return result;
}
int n = node.val;
result.add(n);
preOrder(node.left,result);
preOrder(node.right,result);
return result;
}
/**
*
* 中序
*/
public List<Integer> inOrder(TreeNode node,List<Integer> result){
if(node == null){
return result;
}
int n = node.val;
inOrder(node.left,result);
result.add(n);
inOrder(node.right,result);
return result;
}
/**
*
* 后序
*/
public List<Integer> postOrder(TreeNode node,List<Integer> result){
if(node == null){
return result;
}
int n = node.val;
postOrder(node.left,result);
postOrder(node.right,result);
result.add(n);
return result;
}
}


京公网安备 11010502036488号