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

石家庄网站制作武汉网站制作企业有哪些

石家庄网站制作武汉,网站制作企业有哪些,用什么给网站做测试,成都优化网站厂家今天讲一些关于链表的Oj题,相信你看完对链表又提升一个档次。 题目一 思路一 遍历一遍链表是Val值得时候free这个,然后我们往后走,一直走到末尾空指针得时候,新链表就是我们得答案,那我们用代码来表示一下吧。 struct…

在这里插入图片描述
今天讲一些关于链表的Oj题,相信你看完对链表又提升一个档次。

题目一

在这里插入图片描述
思路一
遍历一遍链表是Val值得时候free这个,然后我们往后走,一直走到末尾空指针得时候,新链表就是我们得答案,那我们用代码来表示一下吧。


struct ListNode* removeElements(struct ListNode* head, int val){struct ListNode*cur=head;struct ListNode*pre=NULL;while(cur){if(cur->val==val){if(pre==NULL){head=cur->next;free(cur);cur=head;}else{pre->next=cur->next;free(cur);cur=pre->next;}}else{pre=cur;cur=cur->next;}}return head;
}

思路二
不是val我们就拿下来,是val就跳过,放到新链表中。

struct ListNode* removeElements(struct ListNode* head, int val){struct ListNode*tail=NULL;struct ListNode*cur=head;head=NULL;while(cur){if(cur->val==val){cur=cur->next;}else{if(tail==NULL){head=tail=cur;}else{tail->next=cur;tail=tail->next;}cur=cur->next;}}if(tail)tail->next=NULL;   return head;
}

思路三
带哨兵位得头节点得方法,是val拿下来,不是跳过。


struct ListNode* removeElements(struct ListNode* head, int val){struct ListNode*cur=head;head=(struct ListNode*)malloc(sizeof(struct ListNode));struct ListNode*tail=head;tail->next=NULL;while(cur){if(cur->val==val){struct ListNode*del=cur;cur=cur->next;free(del);}else{tail->next=cur;cur=cur->next;tail=tail->next;}}tail->next=NULL;struct ListNode*del=head->next;free(head);return del;}

题目二

在这里插入图片描述

这题我们可以改变指向,给三个指针变量,变方向就可以解决。

struct ListNode* reverseList(struct ListNode* head){if(head==NULL)return NULL;struct ListNode*cur=head;struct ListNode*pre=NULL;struct ListNode*next=cur->next;while(cur){cur->next=pre;pre=cur;cur=next;if(next)next=next->next;}return pre;
}

思路二
头插到新链表就可以了。

struct ListNode* reverseList(struct ListNode* head){struct ListNode*cur=head;struct ListNode*phead=NULL;while(cur){struct ListNode*next=cur->next;cur->next=phead;phead=cur;cur=next;}return phead;
}

题目三

在这里插入图片描述

用快慢指针,快走两步,慢走一步,就可以解决。

struct ListNode* middleNode(struct ListNode* head){struct ListNode*slow=head;struct ListNode*fast=head;while(fast && fast->next){slow=slow->next;fast=fast->next;if(fast)fast=fast->next;}return slow;
}

题目四

struct ListNode* FindKthToTail(struct ListNode* pListHead, int k ) {struct ListNode*slow=pListHead;struct ListNode*fast=pListHead;while((k--)){if(fast==NULL)return NULL;fast=fast->next;}while(fast){fast=fast->next;slow=slow->next;}return slow;
}

在这里插入图片描述

这题和快慢指针差不多,先让快指针走k步,然后同时走,结束条件就是快指为空的时候。

今天就先分享四道题目,后面再继续分享几道!!!谢谢大家观看

http://www.hengruixuexiao.com/news/42733.html

相关文章:

  • h5游戏网站谷歌网站推广优化
  • wordpress调用主站的文章网推平台
  • 建设银行香港官方网站网站排名top排行榜
  • 济宁建网站公司新闻头条免费下载安装
  • 在百度上做网站有用吗百度视频免费下载
  • 公司的服务器能建设网站吗seo网站自动推广
  • 如何访问英文网站佛山百度快照优化排名
  • 赣州网站建设效果郑州网络营销排名
  • 企业网站怎样做优化站长工具seo综合查询怎么用
  • 网站广告动图怎么做贵港网站seo
  • 成都网站建设行业分析谷歌seo站内优化
  • 嘉祥网站建设公司培训心得总结怎么写
  • 高级服装定制网站交换友情链接
  • office365做企业网站中小企业网站制作
  • python电商网站开发seo关键词优化排名推广
  • 广东营销网站建设服务推广软文营销案例
  • 求职网站怎么做全网热搜榜第一名
  • 技术支持 广州网站建设宁波免费seo在线优化
  • 二级学院网站建设报告b站视频怎么快速推广
  • 东莞seo排名优化服务seo查询爱站网
  • 优秀设计方案网站百度新闻排行榜
  • 延边州建设局网站百度指数疫情
  • 网站备案代码seo网页优化平台
  • 天津网站建设icp备新东方英语线下培训学校
  • 中国人民建设人行网站首页怎么做好市场宣传和推广
  • 做网站怎么做起来的关键词排名点击器
  • 小米的网络营销方式百度seo软件曝光行者seo
  • wordpress 404更改优化近义词
  • 强生公司营销网站为什么要这样做成人短期电脑培训班学费
  • app与网站的区别谷歌浏览器官网下载