public int maxDepth(TreeNode root) {
if(root == null){
return 0;
}
Queue queue = new LinkedList();
queue.offer(root);
int ans = 0;
while(!queue.isEmpty()){
int size = queue.size();
while(size > 0){
TreeNode node = queue.poll();
if(node.left != null){
queue.offer(node.left);
}
if(node.right != null){
queue.offer(node.right);
}
size--;
}
ans++;
}
return ans;
}
队列
队列是一个先进先出的有序列表,其中常用的方法:
对于这一组方法,成功返回true,在操作失败时抛出异常,这是与下面一组方法的主要区别。
add(E e):添加一个元素到队尾
remove():获取队首的元素,并从队列中移除
element():获取队首的元素,但不从队列中移除
这一组,成功返回true,失败时返回一个特殊值(取决于操作,为NULL或false)。
offer(E e)操作是专为容量受限的队列实现而设计的;在大多数实现中,插入操作不会失败。
offer(E e):添加一个元素到队尾
poll():获取队首的元素,并从队列中移除
peek():获取队首的元素,但不从队列中移除



