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整型二维数组
*/
//private static TreeNode tn;
//private static int n = (int)Math.pow(10,6);
//private static int[] order = new int[n];
private static ArrayList<integer> first = new ArrayList<>();
private static ArrayList<integer> middle = new ArrayList<>();
private static ArrayList<integer> then = new ArrayList<>();</integer></integer></integer>
private static void firstOrder(TreeNode root){
if(root != null){
first.add(root.val);
firstOrder(root.left);
firstOrder(root.right);
}
}
private static void middleOrder(TreeNode root){
if(root != null){
middleOrder(root.left);
middle.add(root.val);
middleOrder(root.right);
}
}
private static void thenOrder(TreeNode root){
if(root != null){
thenOrder(root.left);
thenOrder(root.right);
then.add(root.val);
}
}
private static final int[] toIntArray(ArrayList<Integer> arrayList){
int[] intArray = arrayList.stream().mapToInt(Integer::intValue).toArray();
return intArray;
}
public int[][] threeOrders (TreeNode root) {
// write code here
int[][] orders = new int[3][];
firstOrder(root);
orders[0] = toIntArray(first);
middleOrder(root);
orders[1] = toIntArray(middle);
thenOrder(root);
orders[2] = toIntArray(then);
return orders;
}}

京公网安备 11010502036488号