LeetCode 965 Univalued Binary Tree--判断二叉树的所有节点的值是否相同--python,java解法
发布日期:2022-03-18 18:19:25 浏览次数:6 分类:技术文章

本文共 1818 字,大约阅读时间需要 6 分钟。

题目地址:



Acceptance: 67.6%

Difficulty: Easy


A 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: true


Example 2:

在这里插入图片描述

Input: [2,2,2,5,2]

Output: false


Note:

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 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:LeetCode 804 Unique Morse Code Words--python,java解法
下一篇:LeetCode 961 N-Repeated Element in Size 2N Array --python,java解法

发表评论

最新留言

路过按个爪印,很不错,赞一个!
[***.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_java - Java客户端-服务器编程:客户端之间的共享内存 - 堆栈内存溢出... 2019-04-21
java布局管理器空布局_Java图形化界面设计——布局管理器之null布局(空布局)... 2019-04-21
java gas station_LeetCode – 774. Minimize Max Distance to Gas Station 2019-04-21
java项目无法加载到tomcat_eclipse+tomcat添加项目进来无法启动tomcat 2019-04-21
后缀树建立 java_实用算法实现-第 8 篇后缀树和后缀数组 [2 最长公共子串] 2019-04-21
java网络编程期末试题_java网络编程面试题【其中一小部分】 2019-04-21
estore java_estore2 - WEB源码|JSP源码/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
php+跑buth,php 中函数获取可变参数的方法, 这个语法有点像 golang 语言中的 2019-04-21
cms 单点登录 php,Yii2 中实现单点登录的方法 2019-04-21
oracle自己运行,创建Oracle自动执行Job 2019-04-21