void wordsAtDepth() {
int depth = 1;
Queue queue = new Queue(32);
queue.insert(root);
if(root == null){
return;
}
System.out.print(queue.peekFront().cData);
System.out.println(" ");
while (!queue.isEmpty()) {
for(int i = 0; i < depth; i++){
Node Current = queue.remove();
queue.insert(Current.leftChild);
queue.insert(Current.rightChild);
if(Current.leftChild != null){
System.out.print(Current.leftChild.cData);
}
if(Current.rightChild != null){
System.out.print(Current.rightChild.cData);
}
}
System.out.println(" ");
depth = 2^depth;
}
}
印花: 欧 知识产权 AMT 大号 这是正确的,但我在 Node Current = queue.remove(); 处遇到“线程“主”java.lang.NullPointerException 中的异常”;
我尝试从队列中删除空值,当它们在前面并添加一个中断时,但最后一个节点打印了 3 行。