/*
* function TreeNode(x) {
* this.val = x;
* this.left = null;
* this.right = null;
* }
*/
/**
* 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
*
*
* @param root TreeNode类
* @return bool布尔型
*/
function isCompleteTree(root) {
// write code here
// function maxDepth(node){
// let l = 1+maxDepth(node.left)
// let r = 1+maxDepth(node.right)
// return Math.max(l,r)
// }
// let h = maxDepth(root)
if (root === null) return true;
let row = [root]
let temp
let miss = false
while(row.length>0){
temp = []
for(let item of row){
if(miss&&item) return false
if(!item){
miss = true
continue
}
temp.push(item.left)
temp.push(item.right)
}
row = temp;
}
return true
// let arr = [];
// arr.push(root);
// let res = [];
// while (arr.length > 0) {
// let newarr = [];
// let row = [];
// arr.forEach((v) => {
// row.push(v.val);
// v.left == null ? newarr.push(null) : newarr.push(v.left);
// v.right == null ? newarr.push(null) : newarr.push(v.right);
// });
// arr = newarr;
// res.push(row);
// }
// for (i = 0; i < res.length; i++) {
// for (j = 0; i < res[i].length; j++) {
// if (res[i][j] === null) return false;
// }
// }
}
module.exports = {
isCompleteTree: isCompleteTree,
};