题目
想法:
让我一层一层的计算~
class Solution {
public List<List<Integer>> levelOrder(TreeNode root) {
if(root==null) return new ArrayList<>();
List<List<Integer>> res=new ArrayList<>();
Queue<TreeNode> queue=new LinkedList<>();
queue.offer(root);
while(!queue.isEmpty()){
int len= queue.size();
List<Integer> temp=new ArrayList<>();
for(int i=0;i<len;i++){
TreeNode node=queue.poll();
temp.add(node.val);
if(node.left!=null) queue.offer(node.left);
if(node.right!=null) queue.offer(node.right);
}
res.add(temp);
}
return res;
}
}
里面有个小的注意点:queue为了方便进出还是使用linkedlist更为方便,并且queue的操作是offer 和poll