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

【二叉树】:LeetCode:100.相同的数(分治)

🎁个人主页:我们的五年

🔍系列专栏:初阶初阶结构刷题

🎉欢迎大家点赞👍评论📝收藏⭐文章

 

1.问题描述:

2.问题分析:

二叉树是区分结构的,即左右子树是不一样的。本题还是采用分治的思想,要让两棵子树相等,只要让根相等,左子树相等,右子树相等就可以了。

力扣官方给的函数模型:

bool isSameTree(struct TreeNode* p, struct TreeNode* q) {

   

}

能往下走的条件是根一样。能往下走的条件我们不管,要管的是不能往下走的时候,之间返回false。

if(p->val!=q->val)

        return  false;

最小子问题是:根都一样,q和p要么都为空,要么有一个为空。

走到有一颗子树的根为NULL,就进行判断。

/*** Definition for a binary tree node.* struct TreeNode {*     int val;*     struct TreeNode *left;*     struct TreeNode *right;* };*/
bool isSameTree(struct TreeNode* p, struct TreeNode* q) {if(p==NULL&&q==NULL){return true;}if(p==NULL||q==NULL){return false;}if(p->val!=q->val)return false;return isSameTree(p->left,q->left)&&isSameTree(p->right,q->right);
}

    if(p==NULL&&q==NULL)

    {

        return true;

    }

    if(p==NULL||q==NULL)

    {

        return false;

    }

这两个是最小子问题的时候进行返回,即有一个都为NULL了,另外一个要是还不是空,两边就不相等了。

    if(p->val!=q->val)

        return false;

根都不相等了,直接返回。所以返回的条件有三个,根相等,子树相等,子树不相等。但是只有都走到NULL才是返回true。

左边相等,右边相等就返回true。

    return isSameTree(p->left,q->left)&&isSameTree(p->right,q->right);

相关文章:

  • Spring-注解
  • vue 打印、自定义打印、页面打印、隐藏页眉页脚
  • kotlin基础之协程
  • 【5.基础知识和程序编译及调试】
  • 第十三章 进程与线程
  • 探秘URL的奥义:JavaScript中轻松获取页面参数值的N种姿势【含代码示例】
  • 基于文本来推荐相似酒店
  • 最新文章合集
  • 前端加密的方式汇总
  • 【OpenCV 基础知识 13】高斯平滑处理图像
  • vue实现页面渲染时候执行某需求
  • Vue 前端加框 给div加红色框框 js实现
  • 【PB案例学习笔记】-12秒表实现
  • 【PostgreSQL17新特性之-事务级别超时参数transaction_timeout】
  • 虚拟机改IP地址
  • hexo+github搭建个人博客
  • 【翻译】Mashape是如何管理15000个API和微服务的(三)
  • Angular 响应式表单之下拉框
  • ECMAScript6(0):ES6简明参考手册
  • github从入门到放弃(1)
  • golang中接口赋值与方法集
  • Java多态
  • js ES6 求数组的交集,并集,还有差集
  • php中curl和soap方式请求服务超时问题
  • React 快速上手 - 06 容器组件、展示组件、操作组件
  • vue 个人积累(使用工具,组件)
  • vue的全局变量和全局拦截请求器
  • 官方解决所有 npm 全局安装权限问题
  • 基于阿里云移动推送的移动应用推送模式最佳实践
  • 来,膜拜下android roadmap,强大的执行力
  • 每天一个设计模式之命令模式
  • 手机端车牌号码键盘的vue组件
  • 数据库写操作弃用“SELECT ... FOR UPDATE”解决方案
  • 腾讯大梁:DevOps最后一棒,有效构建海量运营的持续反馈能力
  • 小程序测试方案初探
  • 新手搭建网站的主要流程
  • ​ubuntu下安装kvm虚拟机
  • ###STL(标准模板库)
  • #大学#套接字
  • (2020)Java后端开发----(面试题和笔试题)
  • (4)STL算法之比较
  • (C语言)共用体union的用法举例
  • (第27天)Oracle 数据泵转换分区表
  • (第二周)效能测试
  • (二)原生js案例之数码时钟计时
  • (二)丶RabbitMQ的六大核心
  • (分享)一个图片添加水印的小demo的页面,可自定义样式
  • (附源码)springboot工单管理系统 毕业设计 964158
  • (更新)A股上市公司华证ESG评级得分稳健性校验ESG得分年均值中位数(2009-2023年.12)
  • (七)glDrawArry绘制
  • (三)Pytorch快速搭建卷积神经网络模型实现手写数字识别(代码+详细注解)
  • (十二)springboot实战——SSE服务推送事件案例实现
  • (数位dp) 算法竞赛入门到进阶 书本题集
  • (四)JPA - JQPL 实现增删改查
  • (四)linux文件内容查看