首页 > 其他分享 >每日一题-leetcode 单值二叉树

每日一题-leetcode 单值二叉树

时间:2023-03-23 15:01:18浏览次数:34  
标签:right TreeNode val 二叉树 一题 root leetcode left


如果二叉树每个节点都具有相同的值,那么该二叉树就是单值二叉树。

只有给定的树是单值二叉树时,才返回 true;否则返回 false。

示例 1:

每日一题-leetcode 单值二叉树_二叉树

输入:[1,1,1,1,1,null,1]
输出:true
示例 2:

每日一题-leetcode 单值二叉树_leetcode_02

输入:[2,2,2,5,2]
输出:false

提示:

给定树的节点数范围是 [1, 100]。
每个节点的值都是整数,范围为 [0, 99] 。

java代码:

/**
 * 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 isUnivalTree(TreeNode root) {
        if (root == null) {
            return true;
        }
        if (root.left != null) {
            if (root.val != root.left.val || !isUnivalTree(root.left)) {
                return false;
            }
        }
        if (root.right != null) {
            if (root.val != root.right.val || !isUnivalTree(root.right)) {
                return false;
            }
        }
        return true;
    }
}


标签:right,TreeNode,val,二叉树,一题,root,leetcode,left
From: https://blog.51cto.com/u_6813689/6145101

相关文章

  • 【leetcode-链表】两两交换链表中的节点
    题目:给定一个链表,两两交换其中相邻的节点,并返回交换后的链表。你不能只是单纯的改变节点内部的值,而是需要实际的进行节点交换。 示例:1->2->3->42->1->4->3思路:首先需要建......
  • 【leetcode-动态规划】斐波那契数
    题目:斐波那契数,通常用 F(n) 表示,形成的序列称为斐波那契数列。该数列由 0 和 1 开始,后面的每一项数字都是前面两项数字的和。也就是:F(0)=0,  F(1) =1F(N)=......
  • 每日一题-leetcode 环绕字符串中唯一的子字符串
    把字符串s看作是 “abcdefghijklmnopqrstuvwxyz” 的无限环绕字符串,所以 s看起来是这样的:“…zabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcd…”.现......
  • 代码随想录Day5-Leetcode242.有效的字母异位词,349. 两个数组的交集,202. 快乐数,1. 两数
    242.有效的字母异位词准备面试隔了三天没刷题,结果面试里就考到哈希表了,也是蛮感叹的.简单题,不过api又忘的差不多了这道可以用数组手动实现一个简易哈希表,但(因为......
  • 2023.3.23蓝桥杯集训·每日一题
    今日复习的内容是背包问题。记得动态规划问题的初始化。AcWing3382.整数划分解题思路考虑到本题是将一个数划分为\(2\)的幂的和,而\(2\)的\(i\)幂是可以无限使用......
  • LeetCode344. 反转字符串
    题目描述:编写一个函数,其作用是将输入的字符串反转过来。输入字符串以字符数组s的形式给出。不要给另外的数组分配额外的空间,你必须原地修改输入数组、使用O(1)的额外......
  • 力扣---剑指 Offer 32 - II. 从上到下打印二叉树 II
    从上到下按层打印二叉树,同一层的节点按从左到右的顺序打印,每一层打印到一行。例如:给定二叉树:[3,9,20,null,null,15,7],   3  /\ 9 20   / \  15 ......
  • 力扣---剑指 Offer 32 - I. 从上到下打印二叉树
    从上到下打印出二叉树的每个节点,同一层的节点按照从左到右的顺序打印。例如:给定二叉树:[3,9,20,null,null,15,7],   3  /\ 9 20   / \  15  7返......
  • #yyds干货盘点# LeetCode程序员面试金典:最长单词
    题目:给定一组单词words,编写一个程序,找出其中的最长单词,且该单词由这组单词中的其他单词组合而成。若有多个长度相同的结果,返回其中字典序最小的一项,若没有符合要求的单词则......
  • #yyds干货盘点# LeetCode面试题:合并区间
    1.简述:以数组intervals表示若干个区间的集合,其中单个区间为intervals[i]=[starti,endi]。请你合并所有重叠的区间,并返回 一个不重叠的区间数组,该数组需恰好覆盖输入......