联系我们
简单又实用的WordPress网站制作教学
当前位置:网站首页 > 程序开发学习 > 正文

利特科德100。相同的树

作者:小教学发布时间:2023-12-07分类:程序开发学习浏览:94


导读:本专栏内容为:LeetCode刷题专栏,记录了LeetCode热门题目以及重难点题目的详细记录💓博主CSDN个人主页:小小独角兽⏩专栏分类:LeetCode🚚🚚代码仓库:小小独角兽...

本专栏内容为:LeetCode刷题专栏,记录了LeetCode热门题目以及重难点题目的详细记录

💓博主CSDN个人主页:小小独角兽
⏩专栏分类:LeetCode
🚚🚚代码仓库:小小独角兽的代码仓库
🌹🌹🌹关注我带你学习编程知识

相同的树

  • 题目描述
  • 解题思路:
  • 代码解决:
  • 结果与总结:

题目描述

题目来源:相同的树
给你两棵二叉树的根节点p和Q,编写一个函数来检验这两棵树是否相同.
如果两个树在结构上相同,并且节点具有相同的值,则认为它们是相同的.

利特科德100。相同的树
利特科德100。相同的树
利特科德100。相同的树

解题思路:

判断两棵二叉树是否相同,也可以将其分解为子问题:
 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);
    
}

结果与总结:

通过所有示例,问题得到解决.

总结:本题题目简单,其主要解决方法采取递归的方式来解决,利用递归前要判定几种特殊情况.




标签:利特科德100。相同的树_小小独角兽的博客


程序开发学习排行
最近发表
网站分类
标签列表