需要学习资料的+微信公众号 学习资源后台找我
本人比较忙 我看到了会在后台帮你,谢谢关注啦
import java.util.ArrayList;
import java.util.Queue;import java.util.LinkedList;
/*
public class TreeNode {
int val = 0;
TreeNode left = null;
TreeNode right = null;
public TreeNode(int val) {
this.val = val;
}
}
*/
public class Solution {
public ArrayList<ArrayList<Integer> > Print(TreeNode pRoot) {
Queue<TreeNode> queue = new LinkedList<TreeNode>();
ArrayList<ArrayList<Integer>> lists = new ArrayList<ArrayList<Integer>>();
if(pRoot == null)return lists;
ArrayList<Integer> list = new ArrayList<Integer>();
TreeNode last = pRoot;
TreeNode nlast = pRoot;
queue.add(pRoot);
while(!queue.isEmpty()){
TreeNode tmp =queue.poll();
list.add(tmp.val);
if(tmp.left != null){
queue.add(tmp.left);
nlast = tmp.left;
}
if(tmp.right != null){
queue.add(tmp.right);
nlast = tmp.right;
}
if(tmp == last){
last = nlast;
lists.add(list);
list = new ArrayList<Integer>();
}
}
ArrayList<ArrayList<Integer>> ls = new ArrayList<ArrayList<Integer>>();
for(int i= 0 ;i<lists.size();i++){
if(i % 2 == 0 ){
ls.add(lists.get(i));
}else{
ArrayList<Integer> l = new ArrayList<Integer>();
for(int j =lists.get(i).size()-1 ;j>=0;j--){
l.add(lists.get(i).get(j));
}
ls.add(l);
}
}
return ls;
}
}