大连网站制作团队,名片式网站模板,做视频链接哪个网站没有广告,wordpress分类目录文章排序题目描述#xff1a;
给你一个 二叉树 的根结点 root#xff0c;该二叉树由恰好 3 个结点组成#xff1a;根结点、左子结点和右子结点。
如果根结点值等于两个子结点值之和#xff0c;返回 true #xff0c;否则返回 false 。
初始代码#xff1a;
/*** Definition f…题目描述
给你一个 二叉树 的根结点 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;}
}