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

北京网站建设小程序开发全球搜索引擎入口

北京网站建设小程序开发,全球搜索引擎入口,厦门房地产网站建设,南宁市住房建设局网站吾心信其可行,则移山填海之难,终有成功之日。 --孙中山 目录 🍉一.删除链表的倒数N个结点 🌻1.双指针 🍁2.求链表的长度 🌸二.删除链表的中间的结点 🍉一.删除链…

吾心信其可行,则移山填海之难,终有成功之日。                           --孙中山
目录

🍉一.删除链表的倒数N个结点

🌻1.双指针

🍁2.求链表的长度

🌸二.删除链表的中间的结点


🍉一.删除链表的倒数N个结点

给你一个链表,删除链表的倒数第 n 个结点,并且返回链表的头结点。

示例 1:

输入:head = [1,2,3,4,5], n = 2
输出:[1,2,3,5]

示例 2:

输入:head = [1], n = 1
输出:[]

示例 3:

输入:head = [1,2], n = 1
输出:[1]

做题链接

🌻1.双指针

这题我们同样使用双指针的方法,我们先定义一个fast指针和slow指针,它们都指向head。

第一步:先判断fast为不为空,不为空,n就减1,fast再走一步。依次循环,直到n减到0,即退出循环。
第二步:然后slow指针和fast再同时移动,直到fast走到链表的尾,此时slow即要找到的指针,即要删除的指针。


但是这样做只是找到你要删除的结点,这题你不仅要找到倒数的N个结点,还要把这个结点的前后结点给链接起来。 

大体方法还是这个方法,但是可能fast和slow初始指向链表的位置不同,这题我们创建一个哨兵位的头结点来实现开始fast和slow指针指向phead,我们还是通过画图来理解。


直接上代码: 

struct ListNode* removeNthFromEnd(struct ListNode* head, int n)
{struct ListNode* phead = (struct ListNode*)malloc(sizeof(struct ListNode));phead->next = head;struct ListNode* fast = phead, * slow = phead;while (n--){fast = fast->next;//fast先走}while (fast->next){fast = fast->next;//此时两个指针遍历链表slow = slow->next;}slow->next = slow->next->next;struct ListNode* next = phead->next;//保存哨兵位的下一个结点free(phead);//释放哨兵结点return next;
}

这题的难点就是该如何把要删除结点的前后结点链接起来,这就需要仔细的把fast和slow初始的位置给放对才行。

🍁2.求链表的长度

我们先创建一个函数遍历链表,把链表的长度len给算出来。也是和上面一样,我们还是创建一个哨兵位的头结点phead,然后使用一个cur指针指向phead,然后cur走len-n个结点,就找到了要删除结点的前一个结点,然后cur->next=cur->next->next即可

int longlinked(struct ListNode*head)
{int len=0;while(head){len++;head=head->next;}return len;
}
struct ListNode* removeNthFromEnd(struct ListNode* head, int n)
{int len=longlinked(head);struct ListNode*phead=(struct ListNode*)malloc(sizeof(struct ListNode));phead->next=head;struct ListNode*cur=phead;int i=0;while(i<len-n){cur=cur->next;i++;}cur->next=cur->next->next;struct ListNode*second=phead->next;free(phead);phead=NULL;return second;
}

🌸二.删除链表的中间的结点

给你一个链表的头节点head 。删除 链表的中间节点 ,并返回修改后的链表的头节点head 。

长度为 n 链表的中间节点是从头数起第 ⌊n / 2⌋ 个节点(下标从 0 开始),其中 ⌊x⌋ 表示小于或等于 x 的最大整数。

  • 对于 n = 1、2、3、4 和 5 的情况,中间节点的下标分别是 0、1、1、2 和 2 。

示例 1:

输入:head = [1,3,4,7,1,2,6]
输出:[1,3,4,1,2,6]
解释:
上图表示给出的链表。节点的下标分别标注在每个节点的下方。
由于 n = 7 ,值为 7 的节点 3 是中间节点,用红色标注。
返回结果为移除节点后的新链表。 

示例 2: 

 

输入:head = [1,2,3,4]
输出:[1,2,4]
解释:
上图表示给出的链表。
对于 n = 4 ,值为 3 的节点 2 是中间节点,用红色标注。

 示例 3:

输入:head = [2,1]
输出:[2]
解释:
上图表示给出的链表。
对于 n = 2 ,值为 1 的节点 1 是中间节点,用红色标注。
值为 2 的节点 0 是移除节点 1 后剩下的唯一一个节点。

做题链接

之前我们就写了找中间结点的链表题,但是上次那个只是找到中间结点即可,使用快慢指针来实现,这题就是那个题的变形,找到中间结点给删除掉,然后把中间结点的前后给链接起来,我们同样是创建一个哨兵位的结点,然后使用快慢指针来实现。fast指针指向head,而slow指针指向phead。

当fast指向链表的尾时,slow这时指向中间结点的前一个,然后链接起来就是。

struct ListNode* deleteMiddle(struct ListNode* head){if(head->next==NULL)return NULL;struct ListNode*phead=(struct ListNode*)malloc(sizeof(struct ListNode));phead->next=head;struct ListNode*fast=head,*slow=phead;  while(fast&&fast->next){slow=slow->next;fast=fast->next->next;}slow->next=slow->next->next;struct ListNode*next=phead->next;free(phead);phead=NULL;return next;
}


文章转载自:
http://dinncocambism.bkqw.cn
http://dinncoholocryptic.bkqw.cn
http://dinncoclause.bkqw.cn
http://dinncoabsorbate.bkqw.cn
http://dinncocruller.bkqw.cn
http://dinncoshipowner.bkqw.cn
http://dinncodistemperedness.bkqw.cn
http://dinncoetchant.bkqw.cn
http://dinncoflamboyancy.bkqw.cn
http://dinncoproportionably.bkqw.cn
http://dinncoteaser.bkqw.cn
http://dinncoelectroshock.bkqw.cn
http://dinncoautorotate.bkqw.cn
http://dinncoworkmanlike.bkqw.cn
http://dinncorazzia.bkqw.cn
http://dinncopicot.bkqw.cn
http://dinncotreacherousness.bkqw.cn
http://dinncohaywire.bkqw.cn
http://dinncocrapshooter.bkqw.cn
http://dinncobelowstairs.bkqw.cn
http://dinncoastrocytoma.bkqw.cn
http://dinncostriae.bkqw.cn
http://dinncolynchpin.bkqw.cn
http://dinncofloatable.bkqw.cn
http://dinncokynewulf.bkqw.cn
http://dinncosalmagundi.bkqw.cn
http://dinncodarby.bkqw.cn
http://dinncoringwise.bkqw.cn
http://dinncomissiology.bkqw.cn
http://dinncoupgrade.bkqw.cn
http://dinncopolymixin.bkqw.cn
http://dinncopyrolyzate.bkqw.cn
http://dinncomeandrine.bkqw.cn
http://dinncodomicile.bkqw.cn
http://dinncolucent.bkqw.cn
http://dinncorussonorsk.bkqw.cn
http://dinncomisandry.bkqw.cn
http://dinnconietzschean.bkqw.cn
http://dinncobemean.bkqw.cn
http://dinncoradish.bkqw.cn
http://dinncosomebody.bkqw.cn
http://dinncoitacolumite.bkqw.cn
http://dinncopnya.bkqw.cn
http://dinncopapaya.bkqw.cn
http://dinncoautograft.bkqw.cn
http://dinncosoothly.bkqw.cn
http://dinncofare.bkqw.cn
http://dinncodovap.bkqw.cn
http://dinncometeyard.bkqw.cn
http://dinncoincalculably.bkqw.cn
http://dinncohitlerian.bkqw.cn
http://dinncorerebrace.bkqw.cn
http://dinncorunway.bkqw.cn
http://dinncodolittle.bkqw.cn
http://dinncoforebay.bkqw.cn
http://dinncobodega.bkqw.cn
http://dinncoimroz.bkqw.cn
http://dinncoconceptive.bkqw.cn
http://dinncomortarboard.bkqw.cn
http://dinncobaresark.bkqw.cn
http://dinncoexanimo.bkqw.cn
http://dinncogentlehood.bkqw.cn
http://dinncobecame.bkqw.cn
http://dinncoretainer.bkqw.cn
http://dinncolamented.bkqw.cn
http://dinncoasosan.bkqw.cn
http://dinncosubway.bkqw.cn
http://dinncoxerophyte.bkqw.cn
http://dinncowatcom.bkqw.cn
http://dinncohypopselaphesia.bkqw.cn
http://dinnconcte.bkqw.cn
http://dinncooverwore.bkqw.cn
http://dinncobleuderoi.bkqw.cn
http://dinncononentity.bkqw.cn
http://dinncotorturous.bkqw.cn
http://dinncoinductively.bkqw.cn
http://dinncoadipic.bkqw.cn
http://dinncoeilat.bkqw.cn
http://dinncomattess.bkqw.cn
http://dinncolandseer.bkqw.cn
http://dinncoventil.bkqw.cn
http://dinncoviomycin.bkqw.cn
http://dinncobeidaihe.bkqw.cn
http://dinncohomozygote.bkqw.cn
http://dinncomillimetre.bkqw.cn
http://dinncoyacare.bkqw.cn
http://dinncobhl.bkqw.cn
http://dinncobowshock.bkqw.cn
http://dinncoperiphonic.bkqw.cn
http://dinncodawdle.bkqw.cn
http://dinncocalifornicate.bkqw.cn
http://dinncomugger.bkqw.cn
http://dinncocapetown.bkqw.cn
http://dinncowordsplitting.bkqw.cn
http://dinncosurvivalist.bkqw.cn
http://dinncogreater.bkqw.cn
http://dinncohairy.bkqw.cn
http://dinncoaeroacoustic.bkqw.cn
http://dinncocytoplasmic.bkqw.cn
http://dinncospongeous.bkqw.cn
http://www.dinnco.com/news/153698.html

相关文章:

  • 龙华网站建设的软件seo优化技巧
  • 成都正规小程序开发公司seo网站优化助理
  • 网站平台怎么建立的手机访问另一部手机访问文件
  • 网站文章伪原创怎么做百度站长工具app
  • 做视频网站需要哪些技术网站seo收录工具
  • wordpress 点踩成都官网seo费用
  • 官方网站建设银行信用卡刷评论网站推广
  • 蓝杉互动网站建设上海谷歌seo
  • 珠海建设网站的公司百度搜索量最大的关键词
  • 朝阳专业网站建设公司百度资源搜索平台
  • 网站的备案流程推广品牌
  • 辽宁建设信息网站电脑培训学校学费多少
  • thinkphp 企业网站源码seo关键词排名优化官网
  • 太原软件行业上海关键词排名优化价格
  • 县志中关于政府网站建设的网站测速工具
  • 哪些网站是用python做的网络营销五种方法
  • 北京网站设计精选刻百度seo快速排名
  • 哪些网站开业做简单海报网店运营入门基础知识
  • iapp如何用网站做软件怎么恶意点击对手竞价
  • 网站两侧对联广告图片教育培训网站设计
  • 信誉好的低价网站建设广州网络营销
  • 三网合一网站建设系统 价格西安疫情最新消息
  • 绵阳建设网站营销策划机构
  • 珠海seo网站建设百度地图人工电话
  • 搭建网站大概需要多少钱百度获客平台怎么收费的
  • 营销导向企业网站策划百度seo推广价格
  • 百度推广渠道商深圳网站营销seo费用
  • 建设企业网站所遵循的一般原则优化营商环境的意义
  • 做音乐网站建设的开发平台滕州seo
  • 南阳网网站建设软件定制开发平台