题解 | #判断是不是完全二叉树#
判断是不是完全二叉树
https://www.nowcoder.com/practice/8daa4dff9e36409abba2adbe413d6fae
在 BSF 时,我们习惯在将子节点加入队列时,进行非空判断
但是对于 "完全二叉树" 这道题,我们恰恰需要保留这些空节点
从而借此判断二叉树的完整性
import java.util.*;
public class Solution {
public boolean isCompleteTree (TreeNode root) {
if (root==null) return true;
Queue<TreeNode> queue = new LinkedList<>();
queue.offer(root);
boolean hasNull = false;
while (!queue.isEmpty()) {
TreeNode tmp = queue.poll();
if (tmp==null) {
hasNull=true;
continue;
}
if (hasNull) return false;
queue.offer(tmp.left);
queue.offer(tmp.right);
}
return true;
}
}
睿联技术公司福利 62人发布