LeetCode 965 Univalued Binary Tree--判断二叉树的所有节点的值是否相同--python,java解法
发布日期:2022-03-18 18:19:25
浏览次数:6
分类:技术文章
本文共 1818 字,大约阅读时间需要 6 分钟。
题目地址:
Acceptance: 67.6%
Difficulty: EasyA binary tree is univalued if every node in the tree has the same value.
Return true if and only if the given tree is univalued.
Example 1:
Input: [1,1,1,1,1,null,1]
Output: trueExample 2:
Input: [2,2,2,5,2]
Output: falseNote:
The number of nodes in the given tree will be in the range [1, 100]. Each node’s value will be an integer in the range [0, 99].这题的意思是判断一个二叉树的所有节点的值是否相同。
python3代码:
# Definition for a binary tree node.# class TreeNode:# def __init__(self, x):# self.val = x# self.left = None# self.right = Noneclass Solution: def isUnivalTree(self, root: TreeNode) -> bool: if root==None: return True if (root.left!=None and root.left.val!=root.val) or (root.right!=None and root.right.val!=root.val): return False return self.isUnivalTree(root.left) and self.isUnivalTree(root.right)
Java代码:
/** * Definition for a binary tree node. * public class TreeNode { * int val; * TreeNode left; * TreeNode right; * TreeNode(int x) { val = x; } * } */class Solution { public boolean isUnivalTree(TreeNode root) { if (root==null){ return true; } if( (root.left!=null && root.left.val!=root.val) || (root.right!=null && root.right.val!=root.val)){ return false; } return isUnivalTree(root.left) && isUnivalTree(root.right); }}
java运行就是比Python快,只要2ms。
官方参考解法:
class Solution(object): def isUnivalTree(self, root): left_correct = (not root.left or root.val == root.left.val and self.isUnivalTree(root.left)) right_correct = (not root.right or root.val == root.right.val and self.isUnivalTree(root.right)) return left_correct and right_correct
转载地址:https://zhang0peter.blog.csdn.net/article/details/88304277 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!
发表评论
最新留言
路过按个爪印,很不错,赞一个!
[***.219.124.196]2024年03月08日 16时27分58秒
关于作者
喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
java流程语句_Java流程控制语句
2019-04-21
java require_java正则中的requireEnd和hitEnd
2019-04-21
400错误java_java代码转化成c#代码 报400错误
2019-04-21
java常见对象_Java 常见对象 02
2019-04-21
spring java配置_Spring Java配置要点
2019-04-21
后缀树建立 java_实用算法实现-第 8 篇后缀树和后缀数组 [2 最长公共子串]
2019-04-21
java网络编程期末试题_java网络编程面试题【其中一小部分】
2019-04-21
java如何做表单校验_微信小程序实现表单校验功能
2019-04-21
matlab dwt2(),MATLAB小波变换指令及其功能介绍(超级有用)
2019-04-21
php sequelize,egg.js整合数据库ORM框架Sequelize
2019-04-21
php同时打开2个数据库,thinkphp3.2同时连接两个数据库的简单方法
2019-04-21
centos 开发php扩展,centos 安装php扩展redis
2019-04-21
cms 单点登录 php,Yii2 中实现单点登录的方法
2019-04-21
oracle自己运行,创建Oracle自动执行Job
2019-04-21