栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > C/C++/C#

【数据结构】C语言算法练习题——判断题目中给定的俩个二叉树是否相同

C/C++/C# 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

【数据结构】C语言算法练习题——判断题目中给定的俩个二叉树是否相同

题目链接:

力扣https://leetcode.cn/problems/same-tree/submissions/解题思路:

1.不同于单值二叉树的判定,需要把左子树,右子树的限定条件写出来,有“根”结点的判定条件即可

2. 常见错误:

在某行访问的指针为空的时候,通常情况下表明程序未对NULL情况做出判断,因此程序出现运行错误

而在一个二叉树之间的相互比较中即使存在 null ,也不会出现这种问题

代码实现:


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);
}

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/954177.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号