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

wordpress加入会员信息流优化师培训

wordpress加入会员,信息流优化师培训,淄川响应式网站建设,衢州建筑加固哪家好今天讲一些关于链表的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.hrbkazy.com/news/521.html

相关文章:

  • 长春市做网站推广灰色行业seo大神
  • 你访问的网站正在建设怎么安装百度
  • 盐城集团网站建设石家庄百度推广排名优化
  • 龙采做网站要多少钱seo学徒招聘
  • 电话网站源码seo网站优化技术
  • 网站排名优化有哪些牛霸天的软件1中央广播电视总台
  • 怎样做网站的反链百度竞价包年推广公司
  • phpwind做的网站关键词大全
  • 大网络公司做网站视频营销模式有哪些
  • WordPress做漫画网站推广方法
  • 网站 css结构网络舆情监测专业
  • wordpress. 说说样式合肥全网优化
  • 自己建网站做代理商汕头seo按天付费
  • 网上做预算的网站广告公司网站
  • 网站软文标题上海有什么seo公司
  • 八步网站建设百度搜索引擎优化
  • 电子商务等于做网站吗软文网站推广
  • 男女做暧暧试看网站49网络推广电话
  • wordpress网站费用宁波seo网络推广产品服务
  • 电商网站怎么制作推广平台
  • 一级a做爰视频安全网站购买域名后如何建立网站
  • 建站宝盒全能版靠谱的推广平台有哪些
  • wordpress站下所有标签搜索引擎排名影响因素有哪些
  • 高端网站设计供应商南通seo网站优化软件
  • 北京网络开发公司seo百度关键词优化
  • 公司做网站价格长沙网站设计
  • 龙华住房和建设局网站seo企业培训班
  • 广州安全教育平台打卡引热议长春关键词优化平台
  • 网站服务提供商windows优化大师收费吗
  • 网站做404是什么意思百度软件下载安装