public int[][] threeOrders (TreeNode root) {
ArrayList<Integer> list = new ArrayList();
ArrayList<Integer> list2 = new ArrayList();
ArrayList<Integer> list3 = new ArrayList();
preOrder(root,list);
midOrder(root ,list2);
afterOrder(root ,list3);
int len = list.size();
int[][] res = new int[3][len];
for(int i=0;i<len;i++){
res[0][i] = list.get(i);
res[1][i] = list2.get(i);
res[2][i] = list3.get(i);
}
return res;
}
public void preOrder(TreeNode node,ArrayList list){
if(node == null) return;
list.add(node.val);
preOrder(node.left,list);
preOrder(node.right,list);
}
public void midOrder(TreeNode node,ArrayList list){
if(node == null) return;
midOrder(node.left,list);
list.add(node.val);
midOrder(node.right,list);
}
public void afterOrder(TreeNode node,ArrayList list){
if(node == null) return;
afterOrder(node.left,list);
afterOrder(node.right,list);
list.add(node.val);
}
牛客NC45 实现二叉树先序,中序和后序遍历(递归)
猜你喜欢
转载自blog.csdn.net/qq_43434328/article/details/114903710
今日推荐
周排行