俩层for循环,第一层遍历每层;第二层循环遍历节点:
public class Solution {
/**
*
* @param root TreeNode类
* @return int整型ArrayList<ArrayList<>>
*/
public ArrayList<ArrayList<integer>> levelOrder (TreeNode root) {
ArrayList<ArrayList<integer>> result= new ArrayList<>();
LinkedList<treenode> rootList = new LinkedList<>();
if(root != null){
rootList.add(root);
}
while(rootList.size() != 0){
ArrayList<integer> layer = new ArrayList<>();
LinkedList<treenode> checkList = new LinkedList<>();
while(!rootList.isEmpty()){
TreeNode node = rootList.poll();
if(node.left != null){
checkList.add(node.left);
}
if(node.right != null){
checkList.add(node.right);
}
layer.add(node.val);
}
result.add(layer);
rootList = checkList;
}</treenode></integer></treenode></integer></integer>
return result; }
}