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

建设银行网站app制作装饰公司网站

建设银行网站app,制作装饰公司网站,商城网站开发的目的和意义,学生个人网站制作软件欢迎来到我的#xff1a;世界 该文章收入栏目#xff1a;链表 希望作者的文章对你有所帮助#xff0c;有不足的地方还请指正#xff0c;大家一起学习交流 ! 目录 前言第一题#xff1a;反转一个链表第二题#xff1a;链表内指定区间反转第三题#xff1a;判断一个链表… 欢迎来到我的世界 该文章收入栏目链表 希望作者的文章对你有所帮助有不足的地方还请指正大家一起学习交流 ! 目录 前言第一题反转一个链表第二题链表内指定区间反转第三题判断一个链表是否为回文结构 总结 前言 对于我来说这个博客是一个学习的地方就像我的上篇文章一样有老铁们的支持陪伴我很满足这个栏目我会继续坚持下去108回就像我的108难一样只要撑过磨难一定能取到真经 --------------------------对过程全力以赴对结果淡然处之 第一题反转一个链表 地址oj地址 解题思路 思路让链表翻转过来可以先创造一个新的链表头指针指向空然后原来的链表一个一个头插到新的指针到时候在返回新创造的链表起始位置。按照这个思路 我们需要创造一个新指针变量指向空 然后接下来就是将原链表头插入newnode 这里需要注意一下如果按照头插入newnode,如果指针pHead将结点插入来的话那pHead原指向的下一个结点就丢失了所以这里需要创造一个新的指针 next 存放pHead所指的下一个结点这样才能找回去 后面步骤依次将后续头插入这里有一步也需要注意记得让cur找回到next的结点然后使next再指向cur下一个结点 直到pHead为空结束最后返回newnode 代码 struct ListNode* ReverseList(struct ListNode* head ) {// write code herestruct ListNode* newnode NULL;struct ListNode* cur head;//头插while (cur) {//为了cur能够找回下一个结点struct ListNode* next cur-next;//头插cur-next newnode;newnode cur;//cur指针找回到下一个结点cur next;}return newnode; }第二题链表内指定区间反转 地址oj地址 加强版的反转链表 思路 先利用cur指针指向该链表 head 的位置依次往下找,直到遇到要反转区间的起始位置ret指针记录住该位置 (后面链接起来的要用到);在让cur往下走这里应该注意要用prve指针判断在原来链表是否有结点是否有节点关系到后面链接时的方式是head还是prve-next这点很重要然后从cur现在位置开始进行头插为了反转给区间链表到一个新链表newnode直到走到区间的末尾都头插入后(包括了末尾这个结点);之后就是链接的步骤需要将head和newnode链接起来所以这里用到了prve进行判断 具体的更详细在下面细讲 在这里我想着重想解释一下为什么要设置prve 这里来举两个测试用例 第一个这种相当于第二种情况 创造cur指针指向的是headprve先是指向空开始找区间起始位置根据m值(m为2则应该找第二个结点)每找过一个节点将cur给到prve(这是为了判断区别出是不是从头就开始头插在后面链接时会用来判断其链接的方式在上面有详细解释)直到找到区间起始(如果m1则直接从第一个进行头插这个时候的prve仍指向空)在这个位置设置ret下面进行依次头插入 直到区间所有头插完 最后进行链接起来让prve-next 指向newnode ret-next指向cur最后返回head 还有一个测试用例 这就相当于的是情况1 全部进行了反转 全部头插完后将head指向newnode 代码实现 #include math.h struct ListNode* reverseBetween(struct ListNode* head, int m, int n ) {// write code hereif (head NULL || head-next NULL || m n)return head;struct ListNode* cur head;struct ListNode* newnode NULL, * tail NULL;newnode (struct ListNode*)malloc(sizeof(struct ListNode));newnode-next tail NULL;//找到m的最后一个int countm;struct ListNode*prevNULL;while(count--1){prevcur;curcur-next;}struct ListNode*retcur;//进行头插反转int lenn-m1;while(len--){struct ListNode*nextcur-next;cur-nextnewnode-next;newnode-nextcur;curnext;}//链接if(prevNULL){headnewnode-next;ret-nextcur;}else {prev-nextnewnode-next;ret-nextcur;} return head; }第三题判断一个链表是否为回文结构 地址oj地址 首先我们要知道什么是回文结构如 偶数回文1 2 2 1 奇数回文1 2 3 2 1 解题思路 思路找到中间的结点然后让中间结点后的所有节点反转然后返回的这个中间节点 rever 与该链表的第一个结点进行依次比较值相等就完后走直到指向中间的这个节点 rever 指向空 这里会用到返回中间结点的这个函数和反转一串链表函数(就是本篇文章的第一题)这两个我们之前已经写过了老铁们可以去看看返回中间结点; 代码 struct ListNode* middleNode(struct ListNode* head) {// write code here//返回中间结点的地址//设置快慢指针struct ListNode* sur head, * dst head;//当dst指针为空或dst指向的next为空就停下while (dst dst-next) {sur sur-next;dst dst-next-next;}return sur;}//反转一串链表并返回该链表的头地址struct ListNode* ReverseList(struct ListNode* head ) {// write code herestruct ListNode* newnodeNULL;struct ListNode* cur head;while (cur) {struct ListNode* next cur-next;//头插cur-next newnode;newnode cur;cur next;}return newnode;}//实现判断是否为回文结构 bool isPail(struct ListNode* head ) {// write code herestruct ListNode* mid middleNode(head);struct ListNode* rever ReverseList(mid);while (rever) {if (head-val ! rever-val) {return false;}rever rever-next;head head-next;}return true; }总结 对每到题可能还是可以优化的如果还有更好的方法的老铁可以在评论区里面一起进行讨论哦在后面随着小孩的知识储备越多小孩肯定还会加以优化优化 到了最后感谢支持 我还想告诉你的是 ------------对过程全力以赴对结果淡然处之 也是对我自己讲的
http://www.pierceye.com/news/863843/

相关文章:

  • 网站建设横幅wordpress论坛怎么用
  • 做金融网站违法吗喜迎二十大演讲稿
  • 010-58813333 可信网站做网站的流程是怎么样的
  • 凉山州住房和城乡建设局门户网站南昌seo招聘
  • 恒华大厦做网站公司学校网站制作素材
  • 网站上的动图都怎么做的伊犁州新源县地图高清版
  • 音乐网站设计规划书wordpress爬取文章插件
  • 长沙哪家制作网站好医院网站建设方案需要多少钱
  • 建网站 xyz企业网站wordpress
  • 网站建站工作室做网站收录
  • 广州市天河区工程建设监督网站网站维护的注意事项
  • 人才网站建站织梦网站模块
  • 网站区分治疗早射最有效的方法是什么
  • 市体育局网站 两学一做ip详细地址查询工具
  • 网站找图片做海报侵权开发一个oa系统多少钱
  • 网站下载链接打不开外国网站建站
  • 与众不同的网站风控网站开发
  • 哈尔滨的网站设计门户网站建设招投标
  • 如何用wordpress制作网站运城公司做网站
  • 园林景观网站模板做企业商城网站
  • 医疗网站优化怎么做农村自建房设计图效果图
  • 网站建哪家好佛山seo网站排名
  • 做珠宝网站价格多少html5手机网站开发经验
  • dede网站后台合肥网站建设行情
  • 做动漫网站侵权吗途牛网网站建设评价
  • 域名到期对网站的影响做美缝在哪个网站接单
  • 网站建设技术网站刚做网站和搜出来的不一样
  • 营销型网站建设集装箱液袋如何做做网站
  • 刘晓忠 网站建设手机网站绑定域名是什么意思
  • 东莞网站建设 包装材料汅app下载大全2022