当前位置: 首页 > news >正文

记录每日LeetCode 2236. 判断根结点是否等于子结点之和 Java实现

题目描述:

给你一个 二叉树 的根结点 root,该二叉树由恰好 3 个结点组成:根结点、左子结点和右子结点。

如果根结点值等于两个子结点值之和,返回 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 {public boolean checkTree(TreeNode root) {}
}

示例1:

输入:root = [10,4,6]

输出:true

解释:根结点、左子结点和右子结点的值分别是 10 、4 和 6 。由于 10 等于 4 + 6 ,因此返回 true 。

示例2:

输入:root = [5,3,1]

输出:false

解释:根结点、左子结点和右子结点的值分别是 5 、3 和 1 。由于 5 不等于 3 + 1 ,因此返回 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 {public boolean checkTree(TreeNode root) {if(root == null || root.left == null && root.right == null) {return false;} else if(root.left != null && root.right != null) {if (root.val == root.left.val + root.right.val) {return true;}} else if(root.left == null) {if(root.val == root.right.val) {return true;}} else if(root.right == null) {if(root.val == root.left.val) {return true;}}return 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 {public boolean checkTree(TreeNode root) {if(root == null) return false;int sum = 0;if(root.left != null) sum = sum + countTree(root.left);if(root.right != null) sum = sum + countTree(root.right);return root.val == sum;}public int countTree(TreeNode root) {if(root == null) return 0;return root.val;}
}
http://www.lryc.cn/news/133269.html

相关文章:

  • 使用PHP生成MySQL数据字典
  • React(7)
  • MySQL8.0新特性之用户管理
  • 强推9个研究生必备的免费论文下载网站
  • 解读2023年上半年财报:继续押注儿童业务的361°,有着怎样的野心?
  • 音视频 ffplay播放控制
  • 扁线电机定子转子工艺及自动化装备
  • 分类预测 | MATLAB实现DRN深度残差网络多输入分类预测
  • docker学习(十五)docker安装MongoDB
  • 3.JQuery closest()的用法
  • 速通蓝桥杯嵌入式省一教程:(七)定时器输入捕获中断与PWM频率占空比测量
  • 深入理解python虚拟机:程序执行的载体——栈帧
  • 云服务器-Docker容器-系统搭建部署
  • ES 索引重命名--Reindex(一)
  • Spring之bean的生命周期
  • 策略梯度方法
  • 博客系统之单元测试
  • 【ARM v8】如何在ARM上实现x86的rdtsc()函数
  • redis--事务
  • 111. 二叉树的最小深度
  • SpringMVC归纳与总结
  • Python学习笔记_进阶篇(三)_django知识(二)
  • RISC-V 整型通用寄存器介绍
  • 学习Vue:【性能优化】异步组件和懒加载
  • pdf格式文件下载不预览,云存储的跨域解决
  • httplib + nlohmann::json上传数据时中文乱码解决
  • JavaScript中的设计模式之一--单例模式和模块
  • 回归预测 | MATLAB实现GAM广义加性模型多输入单输出回归预测(多指标,多图)
  • css学习4(背景)
  • 二、SQL,如何实现表的创建和查询