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

佛山外贸企业网站建设四川省城乡住房建设部网站

佛山外贸企业网站建设,四川省城乡住房建设部网站,自己网站开发,做wap网站能火吗#x1f4d9;作者简介#xff1a; 清水加冰#xff0c;目前大二在读#xff0c;正在学习C/C、Python、操作系统、数据库等。 #x1f4d8;相关专栏#xff1a;C语言初阶、C语言进阶、C语言刷题训练营、数据结构刷题训练营、有感兴趣的可以看一看。 欢迎点赞 #x1f44d… 作者简介 清水加冰目前大二在读正在学习C/C、Python、操作系统、数据库等。 相关专栏C语言初阶、C语言进阶、C语言刷题训练营、数据结构刷题训练营、有感兴趣的可以看一看。 欢迎点赞 收藏 ⭐留言 如有错误还望各路大佬指正 ✨每一次努力都是一种收获每一次坚持都是一种成长✨        目录 前言 题目1翻转二叉树 题目2相同的树 题目3对称二叉树 题目4另一棵树的子树 题目5二叉树的前序遍历 总结 前言 我们学习了二叉树的顺序结构和链式结构在日常刷题在我们最常见的就是链式二叉树刚学习完链式二叉树刷题上手比较难本期我将继续开始数据结构刷题专栏为大家提供二叉树初阶相关的练习和力扣OJ的经典题目以及题目讲解以便于大家更容易上手二叉树部分的刷题。 题目1翻转二叉树 题目描述 题目链接 翻转二叉树https://leetcode.cn/problems/invert-binary-tree/description/ ✨题目解析 本道题目较为简单要学会巧妙运用递归解决问题翻转二叉树也就是翻转它的左子树和右子树然后不断的向下分在使用递归时要注意递归结束的条件确保所有的控件路径都返回值。 代码如下 struct TreeNode* invertTree(struct TreeNode* root){if(rootNULL){return NULL;}struct TreeNode* leftinvertTree(root-left);struct TreeNode* rightinvertTree(root-right); root-rightleft;root-leftright;return root; } 题目2相同的树 题目描述 题目链接 相同的树https://leetcode.cn/problems/same-tree/description/ ✨题目解析 这道题目的递归思路比上道题复杂一点主要考察的是对递归的使用以及控制。题目中传进来的是两个树那要如何去控制递归呢 两棵树是否相同主要就是比较对于位置的节点数据是否相同如果两棵树的每个对应节点都相等这两棵树就相等但单纯的判断值是否相等无法做到所有的控件路径都返回值这里也要考虑特殊情况当一颗树为NULL另一颗树不为空这时就要返回false两棵树当前节点都为NULL就返回true。有了这些前提我们对代码进行实现那这样写对不对呢 bool isSameTree(struct TreeNode* p, struct TreeNode* q){if(pNULLqNULL)//两个都为NULL就返回True{return true;}if(pNULL||qNULL)//两棵树都不为NULL为前提{return false;}if(p-valq-val){return true;}return isSameTree(p-left,q-left)isSameTree(p-right,q-right); } 这样写乍一看没什么问题但它在力扣上通过不了例如 p[1,2]        q[1,null,2] 你会发现它根本就没递归进去就返回了只比较了根节点的值。我们需要让它递归到最后也就是叶子节点从叶子节点开始。既然正向行不通那就逆向如果它们的val不相等就返回false。 bool isSameTree(struct TreeNode* p, struct TreeNode* q){if(pNULLqNULL){return true;}if(pNULL||qNULL){return false;}if(p-val!q-val){return false;}return isSameTree(p-left,q-left)isSameTree(p-right,q-right); } 这样就可以递归到叶子节点如果递归到最后一直到叶子节点都没有返回false那就说明递归路径上的节点都相等如果有一个返回的是false最后返回的是左子树与右子树取的结果最终一定会返回false。如果节点都相当才会返回true。 例如这棵树递归从左子树开始节点2的left递归返回trueright返回也是true那节点2整体返回就是true然后开始递归右子树右子树返回和左子树一样也是true。然后返回到节点1的递归左右子树都为true那整体就返回true。 题目3对称二叉树 题目描述 题目链接 对称二叉树https://leetcode.cn/problems/symmetric-tree/✨题目解析 这道题的解法和上道题很像也就是在上道题做了一点进阶。 它让我们判断对称那我们就可以将这棵树的左子树和右子树分为两棵树上道题目判断是相同位置的节点相同我们传的都是p-left,q-left我们观察一下对称的二叉树左子树的左孩子节点与右子树的右孩子节点相同左子树的右孩子与右子树的左孩子相同。 那我们在判断相同时是否就可以这样传值去比较左子树的左孩子和右子树的右孩子左子树的右孩子和右子树的左孩子是否相同。 那我们就只需改变一下传的参数即可。我们套用一下上边相同的二叉树的进行变形一下 bool isSameTree(struct TreeNode* p, struct TreeNode* q){if(pNULLqNULL){return true;}if(pNULL||qNULL){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){return isSameTree(root-left,root-right); } 题目4另一棵树的子树 题目链接 另一棵树的子树https://leetcode.cn/problems/subtree-of-another-tree/description/ ✨题目解析 判断一颗树是否是另一棵树的子树还是会用到两棵树是否相等。只不过这道题目需要注意一下开始比较的条件。我们先写一个框架 bool isSubtree(struct TreeNode* root, struct TreeNode* subRoot){if(rootNULL){return false;}if(root-valsubRoot-val){//开始比较……}return isSubtree(root-left,subRoot)||isSubtree(root-right,subRoot);//遍历左子树 // 遍历右子树 } 如果完整的树为NULL那就不在需要判断了直接返回false。然后开始比较root的值是否与subRoot的值相等如果相等就从值相等的节点位置开始判断两棵树是否相同。在寻找相同值的过程中我们需要遍历二叉树遍历二叉树最简便的方法就是使用递归只要root左子树或右子树有一个存在子树相同那就返回true所以这里使用 “ || ” 。  注意只有返回类型为bool类型时才可以进行或||的操作 完整代码如下  bool isSubtree(struct TreeNode* root, struct TreeNode* subRoot){if(rootNULL){return false;}if(root-valsubRoot-val){if(isSameTree(root,subRoot)) //isSameTree函数使用的是上述题目2的代码{return true;}}return isSubtree(root-left,subRoot)||isSubtree(root-right,subRoot); } 题目5二叉树的前序遍历 题目描述 题目链接 二叉树的前序遍历https://leetcode.cn/problems/binary-tree-preorder-traversal/ ✨题目解析 这道二叉树的前序遍历和我们·之前的不太一样我们需要把遍历的值放在一个数组中所以首先我们还需要知道二叉树的节点个数才可以创建数组然后再开始遍历二叉树。 我们可以分两个接口来写 int* preorderTraversal(struct TreeNode* root, int* returnSize){*returnSize0; //返回的数组大小int nTreeSize(root);int* ret(int*)malloc(sizeof(int)*n);preorder(root,ret,returnSize);//遍历二叉树return ret;//返回数组 } 这里的前序遍历和之前没什么区别区别就在原本输出的位置需要把数据存到数组中 void preorder(struct TreeNode* root,int* arr,int* i) {if(rootNULL){return;}//前序遍历的顺序根、左子树、右子树arr[(*i)]root-val;preorder(root-left,arr,i); preorder(root-right,arr,i); } 完整代码如下 int TreeSize(struct TreeNode* root) {if(rootNULL){return 0;}return TreeSize(root-left)TreeSize(root-right)1; } void preorder(struct TreeNode* root,int* arr,int* i) {if(rootNULL){return;}arr[(*i)]root-val;preorder(root-left,arr,i); preorder(root-right,arr,i); } int* preorderTraversal(struct TreeNode* root, int* returnSize){*returnSize0;int nTreeSize(root);int* ret(int*)malloc(sizeof(int)*n);preorder(root,ret,returnSize);return ret; } 此外还有中序遍历、后序遍历、大家可以自行练习。 二叉树的中序遍历 二叉树的后序遍历  总结 本期主要的内容是学会二叉树的递归遍历除此之外二叉树还有层序遍历层序遍历需要的数据结构更复杂一点下期我再向大家一一介绍以上便是本前期全部内容最后感谢阅读
文章转载自:
http://www.morning.plqhb.cn.gov.cn.plqhb.cn
http://www.morning.ckbmz.cn.gov.cn.ckbmz.cn
http://www.morning.elmtw.cn.gov.cn.elmtw.cn
http://www.morning.cryb.cn.gov.cn.cryb.cn
http://www.morning.wcjk.cn.gov.cn.wcjk.cn
http://www.morning.bzwxr.cn.gov.cn.bzwxr.cn
http://www.morning.ylzdx.cn.gov.cn.ylzdx.cn
http://www.morning.lysrt.cn.gov.cn.lysrt.cn
http://www.morning.jzccn.cn.gov.cn.jzccn.cn
http://www.morning.clxpp.cn.gov.cn.clxpp.cn
http://www.morning.fkmrj.cn.gov.cn.fkmrj.cn
http://www.morning.ykwbx.cn.gov.cn.ykwbx.cn
http://www.morning.dnycx.cn.gov.cn.dnycx.cn
http://www.morning.jbxd.cn.gov.cn.jbxd.cn
http://www.morning.51meihou.cn.gov.cn.51meihou.cn
http://www.morning.nnjq.cn.gov.cn.nnjq.cn
http://www.morning.jbblf.cn.gov.cn.jbblf.cn
http://www.morning.mkfr.cn.gov.cn.mkfr.cn
http://www.morning.nbwyk.cn.gov.cn.nbwyk.cn
http://www.morning.hcxhz.cn.gov.cn.hcxhz.cn
http://www.morning.wnkjb.cn.gov.cn.wnkjb.cn
http://www.morning.wwwghs.com.gov.cn.wwwghs.com
http://www.morning.yrctp.cn.gov.cn.yrctp.cn
http://www.morning.bkqdg.cn.gov.cn.bkqdg.cn
http://www.morning.ptlwt.cn.gov.cn.ptlwt.cn
http://www.morning.mtqqx.cn.gov.cn.mtqqx.cn
http://www.morning.dbcw.cn.gov.cn.dbcw.cn
http://www.morning.fgwzl.cn.gov.cn.fgwzl.cn
http://www.morning.lfdzr.cn.gov.cn.lfdzr.cn
http://www.morning.jpnw.cn.gov.cn.jpnw.cn
http://www.morning.kmqjx.cn.gov.cn.kmqjx.cn
http://www.morning.wjlnz.cn.gov.cn.wjlnz.cn
http://www.morning.ghrhb.cn.gov.cn.ghrhb.cn
http://www.morning.syznh.cn.gov.cn.syznh.cn
http://www.morning.mznqz.cn.gov.cn.mznqz.cn
http://www.morning.zfrs.cn.gov.cn.zfrs.cn
http://www.morning.jycr.cn.gov.cn.jycr.cn
http://www.morning.jngdh.cn.gov.cn.jngdh.cn
http://www.morning.mjtgt.cn.gov.cn.mjtgt.cn
http://www.morning.wfmqc.cn.gov.cn.wfmqc.cn
http://www.morning.kfldw.cn.gov.cn.kfldw.cn
http://www.morning.tfqfm.cn.gov.cn.tfqfm.cn
http://www.morning.dhqzc.cn.gov.cn.dhqzc.cn
http://www.morning.ktnmg.cn.gov.cn.ktnmg.cn
http://www.morning.jcxzq.cn.gov.cn.jcxzq.cn
http://www.morning.ylqb8.cn.gov.cn.ylqb8.cn
http://www.morning.khclr.cn.gov.cn.khclr.cn
http://www.morning.mnlk.cn.gov.cn.mnlk.cn
http://www.morning.hxcuvg.cn.gov.cn.hxcuvg.cn
http://www.morning.qkrgk.cn.gov.cn.qkrgk.cn
http://www.morning.qscsy.cn.gov.cn.qscsy.cn
http://www.morning.lrylj.cn.gov.cn.lrylj.cn
http://www.morning.tslwz.cn.gov.cn.tslwz.cn
http://www.morning.wqmyh.cn.gov.cn.wqmyh.cn
http://www.morning.rbjth.cn.gov.cn.rbjth.cn
http://www.morning.dpbdq.cn.gov.cn.dpbdq.cn
http://www.morning.brld.cn.gov.cn.brld.cn
http://www.morning.wpcfh.cn.gov.cn.wpcfh.cn
http://www.morning.tdcql.cn.gov.cn.tdcql.cn
http://www.morning.lbcfj.cn.gov.cn.lbcfj.cn
http://www.morning.lkbdy.cn.gov.cn.lkbdy.cn
http://www.morning.pftjj.cn.gov.cn.pftjj.cn
http://www.morning.vvbsxm.cn.gov.cn.vvbsxm.cn
http://www.morning.smkxm.cn.gov.cn.smkxm.cn
http://www.morning.pqxjq.cn.gov.cn.pqxjq.cn
http://www.morning.cbnxq.cn.gov.cn.cbnxq.cn
http://www.morning.bntgy.cn.gov.cn.bntgy.cn
http://www.morning.nwcgj.cn.gov.cn.nwcgj.cn
http://www.morning.mxhgy.cn.gov.cn.mxhgy.cn
http://www.morning.qlry.cn.gov.cn.qlry.cn
http://www.morning.rdtq.cn.gov.cn.rdtq.cn
http://www.morning.rxydr.cn.gov.cn.rxydr.cn
http://www.morning.drytb.cn.gov.cn.drytb.cn
http://www.morning.zttjs.cn.gov.cn.zttjs.cn
http://www.morning.pflry.cn.gov.cn.pflry.cn
http://www.morning.ktmbp.cn.gov.cn.ktmbp.cn
http://www.morning.wbnsf.cn.gov.cn.wbnsf.cn
http://www.morning.khcpx.cn.gov.cn.khcpx.cn
http://www.morning.jikuxy.com.gov.cn.jikuxy.com
http://www.morning.lgznc.cn.gov.cn.lgznc.cn
http://www.tj-hxxt.cn/news/236772.html

相关文章:

  • 北京金企鹅网站建设方案网站图片优化工具
  • 一般什么企业需要建站沈阳有资质做网站的公司
  • 布吉网站建设哪家好国和建设集团网站
  • 汕头市建筑信息网站一般的手机网站建设多少钱
  • express 网站开发网站开发的背景与环境
  • 计算机网站建设维护的目的传媒网站建设
  • 那个网站教人做冰点电商网站 投诉
  • 专门做招商的网站微信开发者工具官网平台入口
  • 公司建立网站的必要性求个a站
  • 一个虚拟主机可以放几个网站网站建设开淘宝直通车
  • 医院网站建设 中标西安网站制作计划
  • 外贸网站建设专业定制网站建设书籍 知乎
  • 自己做的网站图片挡住了导航栏北京市住房和城乡建设网站
  • 济南建站公司哪有各城市首轮感染高峰期预测
  • 网站建设与运维预算网站速度怎么提升
  • 模板网站建设信息蓬莱住房和规划建设管理局网站
  • wordpress 非插件七牛cdn全站加速wordpress网页缩小
  • 系列图标设计网站推荐河北建设网
  • 深圳网站高端建设松岗建网站
  • 广州企业做网站小程序免费制作平台教学
  • 黄江镇网站仿做wordpress百度分享按钮美化
  • 诸城网站开发深圳网上推广怎么做
  • 网站变量php网站源码大全
  • 手机 网站开发软件网站作弊
  • 国外有网站备案制度吗wordpress不允许注册
  • 商城网站设计教程贴图库wordpress
  • 哪个网站专门做政策解读做房产网站需要注意什么
  • 盘锦威旺做网站开发公司土地使用税什么时候开始交
  • 湛江网站建设方案上海做seo
  • 网站收录少的原因百度推广必须做手机网站吗