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 List list = new ArrayList<>(); public int[][] threeOrders (TreeNode root) { if(root == null){ return new int[3][0]; } preOrder(root); midOrder(root); postOrder(root); int[][] arr = new int[3][list.size() / 3]; int index = 0; for(int i = 0;i < 3;i ++){ for(int j = 0;j <list.size() / 3;j++){ arr[i][j] = list.get(index ++); } }
return arr;
// write code here
}
public void preOrder(TreeNode root){
if(root == null){
return;
}
list.add(root.val);
preOrder(root.left);
preOrder(root.right);
}
public void midOrder(TreeNode root){
if(root == null){
return;
}
midOrder(root.left);
list.add(root.val);
midOrder(root.right);
}
public void postOrder(TreeNode root){
if(root == null){
return;
}
postOrder(root.left);
postOrder(root.right);
list.add(root.val);
}
} // 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 List list = new ArrayList<>(); // public int[][] threeOrders (TreeNode root) { // // write code here // if(root==null) { // return new int[3][0]; // } // preOrder(root); // inOrder(root); // afterOrder(root); // int[][] res = new int[3][list.size()/3]; // int index = 0; // for(int i=0;i<3;i++) { // for(int j=0;j<list.size()/3;j++) { // res[i][j] = list.get(index++); // } // } // return res; // }
// public void preOrder(TreeNode root) { // if(root==null) { // return; // } // list.add(root.val); // preOrder(root.left); // preOrder(root.right); // }
// public void inOrder(TreeNode root) { // if(root==null) { // return; // } // inOrder(root.left); // list.add(root.val); // inOrder(root.right); // }
// public void afterOrder(TreeNode root) { // if(root==null) { // return; // } // afterOrder(root.left); // afterOrder(root.right); // list.add(root.val); // } // }