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

LeetCode 965题详解 | 单值二叉树的“一统江湖”:如何判断所有节点值全等?

题目如下:

在这里插入图片描述

解题过程如下:

示例中,即便这个结点是空结点也返回true。

若根结点不为空,那么先判断它的左孩子结点里的值是否与根结点里的值相等(这里要先确保左孩子不为空,因为左孩子结点里的值是解引用操作),若不相等返回false,不用判断它的右孩子结点了;若相等,先确保右孩子不为空,再判断它的右孩子结点里的值是否与结点里的值相等。

若根结点里的值都与它的左右孩子结点里的值相等,则继续递归。

在这里插入图片描述

/**
 * Definition for a binary tree node.
 * struct TreeNode {
 *     int val;
 *     struct TreeNode *left;
 *     struct TreeNode *right;
 * };
 */
bool isUnivalTree(struct TreeNode* root) {
    if (root == NULL)
    {
        return true;
    }
    if (root->left && root->left->val != root->val)
    {
        return false;
    }
    if (root->right && root->right->val != root->val)
    {
        return false;
    }
    return isUnivalTree(root->left) && isUnivalTree(root->right);
}
http://www.dtcms.com/a/53899.html

相关文章:

  • Apache ECharts介绍(基于JavaScript开发的开源数据可视化库,用于创建交互式图表)
  • 二进制、八进制、十进制和十六进制间的转换(原理及工程实现)
  • 基于 uni-app 和 Vue3 开发的汉字书写练习应用
  • 【交通网络拓扑图实现原理深度解析】
  • 2.PSCAD是什么软件?
  • 中间件专栏之MySQL篇——MySQL的索引原理
  • 政务信息化项目审计全解析:核心重点与区域实践差异化破局
  • 有效的完全平方数
  • 基于微信小程序的竞赛报名系统设计与实现
  • 《C++ 构造、拷贝构造与析构函数:对象的诞生、克隆与消逝之旅》
  • x86寄存器(二):通用寄存器、指令指针寄存器和标志寄存器
  • 解决Selenium元素拖拽不生效Bug
  • open webui-二次开发-源码启动前后端工程-【超简洁步骤】
  • 利用MQ自动取消未支付超时订单最佳实践
  • 大模型最新面试题系列:训练篇之模型监控与调试
  • 静态时序分析:报告命令report_timing详解
  • C++中的.h文件一般是干什么的?
  • 数据结构–栈
  • Python中的常用库
  • RMAN备份bug-审计日志暴涨(select action from gv$session)
  • Qt添加MySql数据库驱动
  • PromQL计算gateway指标增量最佳实践及常见问题答疑
  • vue3基本功
  • Unity 小功能
  • CMD命令大全
  • 算阶,jdk和idea的安装
  • 最近逐笔成交
  • 【折线图 Line】——21
  • 数据开发岗位: 面试测试题(2025年)
  • 信息系统项目管理师--整合管理