题解 | #判断是不是完全二叉树#
判断是不是完全二叉树
https://www.nowcoder.com/practice/8daa4dff9e36409abba2adbe413d6fae
/*class TreeNode { * val: number * left: TreeNode | null * right: TreeNode | null * constructor(val?: number, left?: TreeNode | null, right?: TreeNode | null) { * this.val = (val===undefined ? 0 : val) * this.left = (left===undefined ? null : left) * this.right = (right===undefined ? null : right) * } * } */ /** * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 * * * @param root TreeNode类 * @return bool布尔型 */ export function isCompleteTree(root: TreeNode): boolean { // write code here if(root == null)return true; //队列来进行实现,对每一行的节点进行遍历如果第一次出现空的了,那么之后的在出现空的那么就不是二叉树了。 const queue = []; queue.push(root); let flag = false; while(queue.length){ const current = queue.shift(); if(current === null){ flag = true; continue; } if(flag){ return false; } queue.push(current.left); queue.push(current.right); } return true; }