利特科德100。相同的树
作者:小教学发布时间:2023-12-07分类:程序开发学习浏览:94
导读:本专栏内容为:LeetCode刷题专栏,记录了LeetCode热门题目以及重难点题目的详细记录💓博主CSDN个人主页:小小独角兽⏩专栏分类:LeetCode🚚🚚代码仓库:小小独角兽...
本专栏内容为:LeetCode刷题专栏,记录了LeetCode热门题目以及重难点题目的详细记录
💓博主CSDN个人主页:小小独角兽
⏩专栏分类:LeetCode
🚚🚚代码仓库:小小独角兽的代码仓库
🌹🌹🌹关注我带你学习编程知识
相同的树
- 题目描述
- 解题思路:
- 代码解决:
- 结果与总结:
题目描述
题目来源:相同的树
给你两棵二叉树的根节点p和Q,编写一个函数来检验这两棵树是否相同.
如果两个树在结构上相同,并且节点具有相同的值,则认为它们是相同的.
解题思路:
判断两棵二叉树是否相同,也可以将其分解为子问题:
1.比较两棵树的根是否相同.
2.比较两根的左子树是否相同.
3.比较两根的右子树是否相同.
代码解决:
/**
* 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);
}
结果与总结:
通过所有示例,问题得到解决.
总结:本题题目简单,其主要解决方法采取递归的方式来解决,利用递归前要判定几种特殊情况.
- 程序开发学习排行
-
- 1鸿蒙HarmonyOS:Web组件网页白屏检测
- 2HTTPS协议是安全传输,为啥还要再加密?
- 3HarmonyOS鸿蒙应用开发——数据持久化Preferences
- 4记解决MaterialButton背景颜色与设置值不同
- 5鸿蒙HarmonyOS实战-ArkUI组件(RelativeContainer)
- 6鸿蒙HarmonyOS实战-ArkUI组件(Stack)
- 7鸿蒙HarmonyOS实战-ArkUI组件(GridRow/GridCol)
- 8[Android][NDK][Cmake]一文搞懂Android项目中的Cmake
- 9鸿蒙HarmonyOS实战-ArkUI组件(mediaquery)
- 最近发表
-
- WooCommerce最好的WordPress常用插件下载博客插件模块的相关产品
- 羊驼机器人最好的WordPress常用插件下载博客插件模块
- IP信息记录器最好的WordPress常用插件下载博客插件模块
- Linkly for WooCommerce最好的WordPress常用插件下载博客插件模块
- 元素聚合器Forms最好的WordPress常用插件下载博客插件模块
- Promaker Chat 最好的WordPress通用插件下载 博客插件模块
- 自动更新发布日期最好的WordPress常用插件下载博客插件模块
- WordPress官方最好的获取回复WordPress常用插件下载博客插件模块
- Img to rss最好的wordpress常用插件下载博客插件模块
- WPMozo为Elementor最好的WordPress常用插件下载博客插件模块添加精简版