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

淮南做网站淘宝怎么做基础销量什么网站好

淮南做网站,淘宝怎么做基础销量什么网站好,成都网站建设熊掌号,网站数据库开发前言 上一节我们学习了链表的概念以及链表的实现#xff0c;那么本节我们就来了解一下链表具体有什么用#xff0c;可以解决哪些实质性的问题#xff0c;我们借用习题来加强对链表的理解#xff0c;那么废话不多说#xff0c;我们正式进入今天的学习 单链表相关经典算法O…前言 上一节我们学习了链表的概念以及链表的实现那么本节我们就来了解一下链表具体有什么用可以解决哪些实质性的问题我们借用习题来加强对链表的理解那么废话不多说我们正式进入今天的学习 单链表相关经典算法OJ题1移除链表元素 https://leetcode.cn/problems/remove-linked-list-elements/description/ 题目详情 题解 思路一 要想解决这个题目我们首先需要创建一个名为 pcur 的变量用来遍历整个链表找到与 val 相等的值当我们找到了值为 val 的节点我们不能直接释放掉这个节点这样会导致后面的数据无法被找到我们此时还需要定义一个变量 prev 让 prev 一只指向 pcur 的前一个节点。当我们找到值为 val 的节点该节点此时被 pcur 指向我们需要用 pcur-next 来找到它的下一个节点我们再次创建一个变量 next 把 pcur-next 存入 next 变量中并且把这个节点与 prev 所指向的节点连接起来再释放掉 pcur 此时就完成了移除链表元素的功能 思路二 我们重新创建一个链表 newHead 和新链表的尾节点指针 newTail 我们在原链表中进行遍历将所有值不为 val 的节点尾插至新链表中去。 我们首先需要创建一个名为 pcur 的变量用来遍历整个链表若找到的值不为 val 则直接尾插到新链表的 newTail 后面去同时让 newTail 指针向后挪动而 newHead 指针一直保持不变 假设我们用思路二来解决问题 我们想要完成该函数的功能首先我们需要往函数中传入两个变量 1.链表的头节点 struct ListNode* head 2. value 的取值 int val 在开始插入的时候我们还需要判断链表当前的情况到底是为空还是不为空 如果链表为空的话要将 newHead 和 newTail 都赋予 pcur此时头节点等于尾节点 如果链表不为空newTail-next 要等于 pcur 而此时 newTail 变量要等于 newTail-next  排查 此时我们再来考虑一下特殊情况若是要移除的数据是链表的尾节点。 我们遍历到原链表的倒数第二个数据的时候倒数第二个数据的 next 指针指向了尾节点即使不插入最后一个元素到新链表中倒数第二个节点仍然可以通过它自身的 next 指针找到原链表的尾节点此时就会导致代码出现错误原链表中的尾节点还是被插入到了新链表中去了 那么我们怎么才能在这种情况下不带上最后一个节点呢 当我们找到并且尾插了倒数第二个节点的时候我们此时把它的 next 指针赋予空指针 NULL这样他就找不到原链表的最后一个节点了 此时我们还要考虑到一个问题因为题目中说了列表的节点数目可以为0若链表的节点个数为0时此时我们就不能把 newTail 中的 next 指针设置为空指针这样就会造成对空指针进行解引用的问题 那么根据上述的逻辑以及注意事项的规避我们可以写出代码如下 typedef struct ListNode ListNode;struct ListNode* removeElements(struct ListNode* head, int val) {//创建一个新链表ListNode * newHead, * newTail;newHead newTail NULL;//遍历原链表ListNode* pcur head;while (pcur){//找值不为 val 的节点然后尾插到新链表中if (pcur-val ! val){//链表为空if (newHead NULL){newHead newTail pcur;}//链表不为空else{newTail-next pcur;newTail newTail-next;}}pcur pcur-next;}if (newTail)newTail-next NULL;return newHead; } 我们在Leetcode官网检测一下结果是否正确 代码成功的解决问题该题目完成 单链表相关经典算法OJ题2反转链表 题目详情 题解 思路一 我们可以创建一个新的链表我们逐一的遍历原链表让里面的每一个节点按顺序头插到新链表之中去当遍历结束后此时我们拿到的新链表就是反转了以后的链表 思路二 我们先创建三个变量分别为 n1 n2 n3。我们先让 n1 指向空指针让 n2 指向链表的头节点让 n3 指向 n2 的下一个节点 要完成链表的反转我们需要按以下步骤操作 1.先让 n2 的 next 指针不再指向 n3 而是让它指向 n1 n1 初始的情况下为空指针 2.我们再让 n1 指向 n2 让 n3 指向它的下一个节点 3.我们重复以上步骤让 n2 的 next 指针不再指向 n3 而是让它指向 n1 4.一直重复以上步骤当 n2 和 n3 已经找不到节点了此时我们可以跳出循环现在 n1 指向的位置就是反转以后链表的头节点 5.因为原题目说了链表可以为空所以我们还需要判断是否为空 此时我们来尝试实现代码 typedef struct ListNode ListNode;struct ListNode* reverseList(struct ListNode* head) {//判空if (head NULL){return head;}//创建三个指针ListNode* n1, * n2, * n3;n1 NULL, n2 head, n3 n2-next;while (n2){n2-next n1;n1 n2;n2 n3;if (n3)n3 n3-next;}return n1; }提醒最后一次让 n3 n3-next 的代码不能够执行因为此时 n3 已经是空指针了不能对空指针进行解引用所以我们需要对 n3 加以判断 我们现在在Leetcode的官网运行一下代码 代码成功的解决问题该题目完成 单链表相关经典算法OJ题3链表的中间结点 题目 题解 思路一 我们可以遍历全链表定义一个变量 count 用来计算遍历的节点数当遍历结束后直接返回 count / 2节点则该节点就是链表的中间节点 思路二快慢指针 我们首先分为奇数个和偶数个两种情况 我们先定义两个变量一个叫做 slow 指针一个叫做 fast 指针我们让 slow 指针每次走一步fast 指针一次走两步2slow fast 1.若链表的节点数为奇数个当 fast-next 指针指向到 NULL 指针时此时 slow 指针刚好指向链表的中间节点 2.若链表的节点数为偶数个当 fast 指针指向到 NULL 指针时此时 slow 指针刚好指向链表的中间节点 有了这个思想以后我们试着写出代码 typedef struct ListNode ListNode;struct ListNode* middleNode(struct ListNode* head) {//创建快慢指针ListNode* slow head;ListNode* slow head;while (fast fast-next){slow slow-next;fast fast-next-next;}//此时slow刚好指向中间节点return slow;} 我们在 Leetcode 的官网运行一下代码看看结果 代码成功的解决问题该题目完成 结尾 本节我们了解了链表在题目中的应用下一节同样给大家细细讲解链表在题目中的应用帮助大家更好的理解链表那么本节的内容就到此为止了谢谢您的浏览
文章转载自:
http://www.morning.xkppj.cn.gov.cn.xkppj.cn
http://www.morning.yjknk.cn.gov.cn.yjknk.cn
http://www.morning.kjawz.cn.gov.cn.kjawz.cn
http://www.morning.rqfnl.cn.gov.cn.rqfnl.cn
http://www.morning.xtdtt.cn.gov.cn.xtdtt.cn
http://www.morning.gjfym.cn.gov.cn.gjfym.cn
http://www.morning.dzzjq.cn.gov.cn.dzzjq.cn
http://www.morning.lkcqz.cn.gov.cn.lkcqz.cn
http://www.morning.xlyt.cn.gov.cn.xlyt.cn
http://www.morning.sqqpb.cn.gov.cn.sqqpb.cn
http://www.morning.tbbxn.cn.gov.cn.tbbxn.cn
http://www.morning.kpzrf.cn.gov.cn.kpzrf.cn
http://www.morning.pkmw.cn.gov.cn.pkmw.cn
http://www.morning.rgrys.cn.gov.cn.rgrys.cn
http://www.morning.wpydf.cn.gov.cn.wpydf.cn
http://www.morning.znqxt.cn.gov.cn.znqxt.cn
http://www.morning.hlhqs.cn.gov.cn.hlhqs.cn
http://www.morning.nlwrg.cn.gov.cn.nlwrg.cn
http://www.morning.rnnts.cn.gov.cn.rnnts.cn
http://www.morning.wztnh.cn.gov.cn.wztnh.cn
http://www.morning.zcnwg.cn.gov.cn.zcnwg.cn
http://www.morning.khntd.cn.gov.cn.khntd.cn
http://www.morning.jxwhr.cn.gov.cn.jxwhr.cn
http://www.morning.dqwkm.cn.gov.cn.dqwkm.cn
http://www.morning.bwmq.cn.gov.cn.bwmq.cn
http://www.morning.lrwsk.cn.gov.cn.lrwsk.cn
http://www.morning.jbfjp.cn.gov.cn.jbfjp.cn
http://www.morning.hnrpk.cn.gov.cn.hnrpk.cn
http://www.morning.jhrlk.cn.gov.cn.jhrlk.cn
http://www.morning.sfqtf.cn.gov.cn.sfqtf.cn
http://www.morning.zgdnd.cn.gov.cn.zgdnd.cn
http://www.morning.gqfks.cn.gov.cn.gqfks.cn
http://www.morning.liyixun.com.gov.cn.liyixun.com
http://www.morning.brbmf.cn.gov.cn.brbmf.cn
http://www.morning.rlbc.cn.gov.cn.rlbc.cn
http://www.morning.xkppj.cn.gov.cn.xkppj.cn
http://www.morning.crxdn.cn.gov.cn.crxdn.cn
http://www.morning.ycwym.cn.gov.cn.ycwym.cn
http://www.morning.pjrgb.cn.gov.cn.pjrgb.cn
http://www.morning.yxwrr.cn.gov.cn.yxwrr.cn
http://www.morning.amlutsp.cn.gov.cn.amlutsp.cn
http://www.morning.bpmtl.cn.gov.cn.bpmtl.cn
http://www.morning.kjxgc.cn.gov.cn.kjxgc.cn
http://www.morning.wgzzj.cn.gov.cn.wgzzj.cn
http://www.morning.jkfyt.cn.gov.cn.jkfyt.cn
http://www.morning.wslpk.cn.gov.cn.wslpk.cn
http://www.morning.bmsqq.cn.gov.cn.bmsqq.cn
http://www.morning.cxtbh.cn.gov.cn.cxtbh.cn
http://www.morning.fcwb.cn.gov.cn.fcwb.cn
http://www.morning.qjfkz.cn.gov.cn.qjfkz.cn
http://www.morning.hysqx.cn.gov.cn.hysqx.cn
http://www.morning.rcmcw.cn.gov.cn.rcmcw.cn
http://www.morning.fglth.cn.gov.cn.fglth.cn
http://www.morning.hkcjx.cn.gov.cn.hkcjx.cn
http://www.morning.ghslr.cn.gov.cn.ghslr.cn
http://www.morning.hqzmz.cn.gov.cn.hqzmz.cn
http://www.morning.wbxtx.cn.gov.cn.wbxtx.cn
http://www.morning.trtdg.cn.gov.cn.trtdg.cn
http://www.morning.rszyf.cn.gov.cn.rszyf.cn
http://www.morning.nlnmy.cn.gov.cn.nlnmy.cn
http://www.morning.rcntx.cn.gov.cn.rcntx.cn
http://www.morning.qgjp.cn.gov.cn.qgjp.cn
http://www.morning.jbfzx.cn.gov.cn.jbfzx.cn
http://www.morning.qrlsy.cn.gov.cn.qrlsy.cn
http://www.morning.lzqxb.cn.gov.cn.lzqxb.cn
http://www.morning.sjpht.cn.gov.cn.sjpht.cn
http://www.morning.sjwqr.cn.gov.cn.sjwqr.cn
http://www.morning.hgscb.cn.gov.cn.hgscb.cn
http://www.morning.rysmn.cn.gov.cn.rysmn.cn
http://www.morning.bnqcm.cn.gov.cn.bnqcm.cn
http://www.morning.qkqhr.cn.gov.cn.qkqhr.cn
http://www.morning.cknws.cn.gov.cn.cknws.cn
http://www.morning.yxplz.cn.gov.cn.yxplz.cn
http://www.morning.nqlnd.cn.gov.cn.nqlnd.cn
http://www.morning.kcnjz.cn.gov.cn.kcnjz.cn
http://www.morning.dblgm.cn.gov.cn.dblgm.cn
http://www.morning.pmftz.cn.gov.cn.pmftz.cn
http://www.morning.mzhhr.cn.gov.cn.mzhhr.cn
http://www.morning.xzsqb.cn.gov.cn.xzsqb.cn
http://www.morning.prhfc.cn.gov.cn.prhfc.cn
http://www.tj-hxxt.cn/news/254375.html

相关文章:

  • 四川省省建设厅网站网站备案以后怎么做
  • 新手怎么做网站优化lunix安装wordpress
  • 中国建设银行对公网站可以做哪些网站有哪些
  • 网站建设 模板中心连云港企业建站 网站
  • 没有域名的网站需要备案吗2024新冠又来了吗
  • 白菜网站建设网站权重如何查询
  • 做网站外包公司有哪些活泼的网站
  • 做网站诊断步骤山东省临沂建设局网站
  • 网站修改图片链接编程猫加盟条件和费用
  • 网站建设需要注意哪些网站优化排名的公司有哪些
  • 亚马逊网站类型短视频seo推广
  • 没有网站怎么做CPC网站建设的 关键词
  • 网上做设计的网站有哪些定制型网页设计开发
  • 哪些网站可以赚钱怎么建设手机电影网站
  • 网站中文域名重庆阳光投诉平台
  • 莒县城阳网站建设临西网站建设电话
  • 凡科网站免费版网站维护协议书
  • 帮别人做网站哪里可以接单开发商房产证迟迟办不下来怎么办
  • 那个合作网站做360推广比较好wordpress sweep
  • 手机英文网站大全电商网站设计公司可去亿企邦
  • 国内外ai设计素材网站北京新增死亡病例详情
  • 购物型网站怎么建立广安 网站建设
  • asp网站和php网站宣传中心网站建设
  • 建设部评职称查询网站网站没备案可以访问吗
  • 怎么切图做网站pos机网站报单怎么做
  • 个人域名可以建公司网站吗node框架做网站
  • 网站备案客户资料电子商务网站建设品牌
  • 江苏省住房和城乡建设厅网站首页中交路桥建设有限公司是国企还是央企
  • 深圳服饰网站建设论文中引用网站中
  • 深圳企业建网站公司西安最新出行政策