已解决
L958. 二叉树的完全性检验 java
来自网友在路上 142842提问 提问时间:2023-10-06 23:18:17阅读次数: 42
最佳答案 问答题库428位专家为你答疑解惑
- 从1开始当下标,最后节点下标==节点总数?true:false;
/*** Definition for a binary tree node.* public class TreeNode {* int val;* TreeNode left;* TreeNode right;* TreeNode() {}* TreeNode(int val) { this.val = val; }* TreeNode(int val, TreeNode left, TreeNode right) {* this.val = val;* this.left = left;* this.right = right;* }* }*/
class Solution {int size=0,maxs=0;public boolean isCompleteTree(TreeNode root) {if(root==null) return true;func(root,1);return size==maxs;}public void func(TreeNode node , int index){if(node==null) return ;size++;maxs=Math.max(maxs,index); func(node.left,2*index);func(node.right,1+2*index);}
}
- 标准BFS,层序遍历,出现空节点后再出现非空节点就不是,其他都是。
/*** Definition for a binary tree node.* public class TreeNode {* int val;* TreeNode left;* TreeNode right;* TreeNode() {}* TreeNode(int val) { this.val = val; }* TreeNode(int val, TreeNode left, TreeNode right) {* this.val = val;* this.left = left;* this.right = right;* }* }*/
class Solution {int size=0,maxs=0;public boolean isCompleteTree(TreeNode root) {if(root==null) return true;int cnt=0;Queue<TreeNode> q = new LinkedList<>();q.offer(root);while(!q.isEmpty()){TreeNode cur= q.poll();if(cur==null) cnt=1;else{if(cnt==1) return false;q.offer(cur.left);q.offer(cur.right);}}return true;}
}
查看全文
99%的人还看了
相似问题
- 〖大前端 - 基础入门三大核心之JS篇㊲〗- DOM改变元素节点的css样式、HTML属性
- Java 算法篇-链表的经典算法:判断回文链表、判断环链表与寻找环入口节点(“龟兔赛跑“算法实现)
- 代码随想录二刷 | 链表 | 删除链表的倒数第N个节点
- 节点导纳矩阵
- bhosts 显示节点 “unreach“ 状态
- 电子电器架构 —— 车载网关边缘节点总线转换
- 〖大前端 - 基础入门三大核心之JS篇㊳〗- DOM访问元素节点
- 第四天||24. 两两交换链表中的节点 ● 19.删除链表的倒数第N个节点 ● 面试题 02.07. 链表相交 ● 142.环形链表II
- CS224W5.1——消息传递和节点分类
- Vue报错解决Error in v-on handler: “Error: 无效的节点选择器:#div1“
猜你感兴趣
版权申明
本文"L958. 二叉树的完全性检验 java":http://eshow365.cn/6-16511-0.html 内容来自互联网,请自行判断内容的正确性。如有侵权请联系我们,立即删除!