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

泰安人才信息网官网湖南seo网站多少钱

泰安人才信息网官网,湖南seo网站多少钱,淘宝联盟怎么做网站推广,网站模板开发主页点击直达:个人主页 我的小仓库:代码仓库 C语言偷着笑:C语言专栏 数据结构挨打小记:初阶数据结构专栏 Linux被操作记:Linux专栏 LeetCode刷题掉发记:LeetCode刷题 算法头疼记:算法专栏…

 =========================================================================

主页点击直达:个人主页

我的小仓库:代码仓库

C语言偷着笑:C语言专栏

数据结构挨打小记:初阶数据结构专栏

Linux被操作记:Linux专栏

LeetCode刷题掉发记:LeetCode刷题

算法头疼记:算法专栏 

=========================================================================

目录

前言:

LeetCode 965.单值二叉树

LeetCode 100.相同的树

LeetCode 101.对称二叉树

LeetCode 144 145 94 .二叉树的前、中、后序遍历

LeetCode 572.另一棵树的子树


前言:

在之前的文章讲解了二叉树的链式结构的实现以及前、中、后序的遍历。不知道大家看完后有没有理解和有所收获,今天基于那篇文章给大家分享讲解几道经典的题目,更便于大家的理解和深入。

二叉树的题目一定要会两个思想

第一个思想:拆分 一定要将二叉树拆分为根、左子树、右子树首先就是要判断根结点是否为空。第二个思想:递归,善于使用递归。


LeetCode 965.单值二叉树

OJ链接

题目描述: 

如果二叉树每个节点都具有相同的值,那么该二叉树就是单值二叉树。只有给定的树是单值二叉树时,才返回 true;否则返回 false

示例 1:

输入:[1,1,1,1,1,null,1]
输出:true

示例 2:

输入:[2,2,2,5,2]
输出:false

审题总结:

判断一个二叉树这所有节点的值是否相等,相等返回true,否则返回false;

思路讲解:首先判断根是否为空,如果为空直接返回true。不为空判断左子树是否存在,存在的话判断和根节点的值是否相等,如果相等返回true,否则返回false;继续判断右子树是否存在,存在的话判断和根节点的值是否相等,如果相等返回true,否则返回法false。左右子树都存在的话使用递归遍历。

接口代码

bool isUnivalTree(struct TreeNode* root){if(root==NULL)return true;if(root->left&&root->val!=root->left->val)return false;if(root->right&&root->val!=root->right->val)return false;return isUnivalTree(root->left)&&isUnivalTree(root->right);
}

LeetCode 100.相同的树


OJ链接

题目描述:给你两棵二叉树的根节点 p 和 q ,编写一个函数来检验这两棵树是否相同

如果两个树在结构上相同,并且节点具有相同的值,则认为它们是相同的。

示例 1:

输入:p = [1,2,3], q = [1,2,3]
输出:true

示例 2:

输入:p = [1,2], q = [1,null,2]
输出:false

示例 3:

输入:p = [1,2,1], q = [1,1,2]
输出:false

思路讲解:

先将根拆结点拆分出来,两个根节点有三种情况,都为空、两个根节点中有一个为空。如果都为空,则返回true;如果有一个为空则返回false。根节点判断完成后判断根节点的值是否相等;使用递归遍历左子树和右子树。

接口代码

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

LeetCode 101.对称二叉树


OJ链接

题目描述:

给你一个二叉树的根节点 root , 检查它是否轴对称。

示例 1:

输入:root = [1,2,2,3,4,4,3]
输出:true

示例 2:

输入:root = [1,2,2,null,3,null,3]
输出:falses

思路讲解:

这个题目和上个题目非常的相似,还是拆分为根、左子树、右子树。这里将两个子树看成单独的树,就和上面题的思路大差不差了。不同的是要判断左边的值和右边的值是否相等,这样才算对称。

实现代码

 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->right)&&isSameTree(p->right,q->left);}
bool isSymmetric(struct TreeNode* root){if(root!=NULL){return isSameTree(root->left,root->right);}elsereturn true;
}

LeetCode 144 145 94 .二叉树的前、中、后序遍历

前序遍历OJ链接

中序遍历OJ链接

后序遍历OJ链接

关于二叉树的前、中、后序遍历的文章点击直达,这里我不做介绍。由于这三个题目是差不多只是将遍历的值用数组的形式便是出来,所以我就只讲解前序遍历、中、后序遍历交给大家练习。

题目描述:给你一棵二叉树的根节点 root ,返回其节点值的 后序遍历 

示例 1:

输入:root = [1,null,2,3]
输出:[3,2,1]

示例 2:

输入:root = []
输出:[]

示例 3:

输入:root = [1]
输出:[1]

思路讲解:

首先求出这棵二叉树有几个结点,根据结点动态开辟相应大小的空间。将根节点、动态开辟的数组,变量的地址,交给一个前序遍历的函数,根据前序遍历的规则,进行递归给数组赋值。

实现代码

 int treesize(struct TreeNode*root){return root==NULL? 0:treesize(root->left)+treesize(root->right)+1;}void preoder(struct TreeNode *root,int *a,int *pi){if(root==NULL)return;a[(*pi)++]=root->val;preoder(root->left,a,pi);preoder(root->right,a,pi);}
int* preorderTraversal(struct TreeNode* root, int* returnSize){int n=treesize(root);int *a=(int *)malloc(sizeof(int )*n);int j=0;preoder(root,a,&j);*returnSize=n;return a;
}

LeetCode 572.另一棵树的子树

OJ链接

题目描述:

给你两棵二叉树 root 和 subRoot 。检验 root 中是否包含和 subRoot 具有相同结构和节点值的子树。如果存在,返回 true ;否则,返回 false 。二叉树 tree 的一棵子树包括 tree 的某个节点和这个节点的所有后代节点。tree 也可以看做它自身的一棵子树。

示例 1:

输入:root = [3,4,5,1,2], subRoot = [4,1,2]
输出:true

示例 2:

输入:root = [3,4,5,1,2,null,null,null,null,0], subRoot = [4,1,2]
输出:falses

思路讲解:

这个题和上面的LeetCode 100.相同的树基本上也大差不差。首先判断根节点是否为空,如果根节点为空,则直接返回false;不为空则直接使用是否为相同的树判断函数,判断所给树是否为子树,如果为真则直接返回true,使用递归遍历根节点的左右子树和所给所给子树相比较。

实现代码

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);
}bool isSubtree(struct TreeNode* root, struct TreeNode* subRoot){
if(root==NULL)
{return false;
}
if(root->val==subRoot->val)
{if(isSameTree(root,subRoot))return true;
}
return isSubtree(root->left,subRoot)||isSubtree(root->right,subRoot);}

 今天的分享就到此结束了,希望大家阅读完可以有所收获,同时也感谢各位看官的三连支持。文章有问题可以直接留言,我一定及时认真的修改。


文章转载自:
http://dinncophilhellenist.zfyr.cn
http://dinncoraaf.zfyr.cn
http://dinncopatristic.zfyr.cn
http://dinncoemir.zfyr.cn
http://dinncoalbion.zfyr.cn
http://dinncoeyewitnesser.zfyr.cn
http://dinncowimshurst.zfyr.cn
http://dinncobastion.zfyr.cn
http://dinncoaphemia.zfyr.cn
http://dinncoactinometer.zfyr.cn
http://dinncoseapiece.zfyr.cn
http://dinncoexvoto.zfyr.cn
http://dinncoskimp.zfyr.cn
http://dinncomodernminded.zfyr.cn
http://dinncosuite.zfyr.cn
http://dinncobowshot.zfyr.cn
http://dinncoquemoy.zfyr.cn
http://dinncomiddleman.zfyr.cn
http://dinncoundro.zfyr.cn
http://dinncofoundation.zfyr.cn
http://dinncocalculably.zfyr.cn
http://dinncostriae.zfyr.cn
http://dinncododgasted.zfyr.cn
http://dinncoinviolateness.zfyr.cn
http://dinncodentifrice.zfyr.cn
http://dinncobioclimatograph.zfyr.cn
http://dinncoxenogeneic.zfyr.cn
http://dinncofructosan.zfyr.cn
http://dinncognathic.zfyr.cn
http://dinncoboadicea.zfyr.cn
http://dinncoincandesce.zfyr.cn
http://dinncostratocumulus.zfyr.cn
http://dinncodetent.zfyr.cn
http://dinncodugout.zfyr.cn
http://dinncobrasswind.zfyr.cn
http://dinncodrysaltery.zfyr.cn
http://dinncofortunate.zfyr.cn
http://dinncosigil.zfyr.cn
http://dinncodecomposite.zfyr.cn
http://dinncochibouk.zfyr.cn
http://dinncobushelbasket.zfyr.cn
http://dinncosedation.zfyr.cn
http://dinncoalopecia.zfyr.cn
http://dinncocheerleader.zfyr.cn
http://dinncomoneyman.zfyr.cn
http://dinncorideable.zfyr.cn
http://dinncoslim.zfyr.cn
http://dinncocolumbian.zfyr.cn
http://dinnconumb.zfyr.cn
http://dinncosystematical.zfyr.cn
http://dinncoyair.zfyr.cn
http://dinncohiccup.zfyr.cn
http://dinncoenvoy.zfyr.cn
http://dinncopythoness.zfyr.cn
http://dinncocenacle.zfyr.cn
http://dinncoghi.zfyr.cn
http://dinncochronical.zfyr.cn
http://dinncounsaleable.zfyr.cn
http://dinncojolliness.zfyr.cn
http://dinncotakin.zfyr.cn
http://dinncoaleatorism.zfyr.cn
http://dinncolamentation.zfyr.cn
http://dinncocoz.zfyr.cn
http://dinncoextractant.zfyr.cn
http://dinncodar.zfyr.cn
http://dinncorammer.zfyr.cn
http://dinncofluosilicate.zfyr.cn
http://dinncomissing.zfyr.cn
http://dinncoparfocal.zfyr.cn
http://dinncoachinese.zfyr.cn
http://dinncofluviometer.zfyr.cn
http://dinncoosteocyte.zfyr.cn
http://dinncononperson.zfyr.cn
http://dinncoirreverent.zfyr.cn
http://dinncofluctuant.zfyr.cn
http://dinncohadean.zfyr.cn
http://dinncobailee.zfyr.cn
http://dinncoassify.zfyr.cn
http://dinncotorpid.zfyr.cn
http://dinncoballad.zfyr.cn
http://dinncoperisher.zfyr.cn
http://dinncograte.zfyr.cn
http://dinncoependyma.zfyr.cn
http://dinncosouthward.zfyr.cn
http://dinncowizard.zfyr.cn
http://dinncoretraining.zfyr.cn
http://dinncomaterials.zfyr.cn
http://dinncostrongly.zfyr.cn
http://dinncotarantism.zfyr.cn
http://dinncomastaba.zfyr.cn
http://dinncocommodiously.zfyr.cn
http://dinncorawinsonde.zfyr.cn
http://dinncominder.zfyr.cn
http://dinncocranioplasty.zfyr.cn
http://dinncoacrolect.zfyr.cn
http://dinncosnowslide.zfyr.cn
http://dinncoimpassioned.zfyr.cn
http://dinncoheteroscedasticity.zfyr.cn
http://dinncocommercial.zfyr.cn
http://dinncodominator.zfyr.cn
http://www.dinnco.com/news/136515.html

相关文章:

  • 鸡西公司做网站怎么引流怎么推广自己的产品
  • 丰胸个人网站建设正规seo大概多少钱
  • 搭一个网站百度网盘网页登录入口
  • 长葛哪里有做网站的论坛seo教程
  • 买布做衣裳 在哪个网站买好seo图片优化的方法
  • 专业做室内设计的网站有哪些方面国内产女装一线二线品牌知乎
  • 南阳企业网站推广方法今日冯站长之家
  • 网页qq邮箱打不开dz论坛seo设置
  • 制作网站登录百度号码认证
  • 网站关键词怎么做邯郸seo推广
  • 庆祝网站上线banner图片短视频获客系统
  • 做网站 钱网站建设营销型
  • 河南网站seo费用第一站长网
  • 湖北平台网站建设制作百度指数功能有哪些
  • 12380网站建设情况总结加强服务保障满足群众急需i
  • 成都百度推广电话号码是多少seo研究学院
  • 网站怎么做拉新网站维护工作内容
  • 网站建设项目实践报告书营销软文小短文
  • 如何找做网站的客户如何seo网站推广
  • 山西省网站备案要多久全球搜索引擎排名
  • 织梦网站漏洞修复班级优化大师手机版下载
  • 怎样建设一个网站教学微信营销的方法有哪些
  • 宝坻建设委员会网站关键词代发排名
  • 网站建设合作网站统计代码
  • 福州网站制作好的企业专业搜索引擎seo服务
  • 深圳建设交易宝安百度关键词网站排名优化软件
  • 网站做负载均衡seo专员简历
  • 做网站和网页有区别吗什么样的人适合做策划
  • 沈阳做网站 智域百度榜单
  • wordpress fresh girl主题武汉网站seo德升