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

域名有了怎么制作网站搜索广告是什么

域名有了怎么制作网站,搜索广告是什么,百度快速排名 搜,直播带货平台🌈个人主页:聆风吟 🔥系列专栏:数据结构、算法模板 🔖少年有梦不应止于心动,更要付诸行动。 文章目录 📋前言一. ⛳️链表的中间结点二. ⛳️链表中倒数第k个结点📝结语 &#x1f4c…

在这里插入图片描述
🌈个人主页:聆风吟
🔥系列专栏:数据结构、算法模板
🔖少年有梦不应止于心动,更要付诸行动。


文章目录

  • 📋前言
  • 一. ⛳️链表的中间结点
  • 二. ⛳️链表中倒数第k个结点
  • 📝结语

📋前言

    💬 hello! 小伙伴们大家好哇,今天作者给大家带来的是链表的相关面试题的讲解,在学习了下文之后,相信大家可以更好的理解链表,并且我们同过本文的练习相信大家对快慢双指针也将会有一定的了解。
    📚 系列专栏:本期文章收录在《剑指offer每日一练》,大家有兴趣可以浏览和关注,后面将会有更多精彩内容!
    🎉 欢迎大家关注🔍点赞👍收藏⭐️留言📝!



一. ⛳️链表的中间结点

⌈ 在线OJ链接,可以转至此处自行练习 ⌋

题目:
给你单链表的头结点 head ,请你找出并返回链表的中间结点。

如果有两个中间结点,则返回第二个中间结点。

示例:

输入: head = [1,2,3,4,5]
输出: [3,4,5]
解释: 链表只有一个中间结点,值为 3

限制:

  • 链表的结点数范围是 [1, 100]
  • 1 <= Node.val <= 100

解题思路:
暴力求解(不推荐)
拿到本题我们很容易想到一种方法就是:遍历整个链表,记录整个链表的元素个数count,然后求出中间结点的位数cout/2 + 1,最后从头开始遍历链表到cout/2 + 1位置的结点,返回该结点即可。显然该方法是比较慢的,那么有没有更好的方法呢?当然是有的,我们可以借助快慢双指针进行快速求解。

快慢双指针(推荐)
创建快慢双指针 slowfast 分别指向链表的头部,循环执行:

  • 快指针 fast 每轮走两步
  • 慢指针 slow 每轮走一步

这样 fast 的步数恒为 slow 的 2 倍,因此当快指针遍历完链表时,慢指针就指向链表中间节点。而由于长度为偶数的链表有两个中间节点,因此需要分两种情况考虑:

  • 链表的长度为奇数:当 fast 走到链表的尾结点时,slow 正好是中间结点;
  • 链表的长度为偶数:当 fast 为空(越过尾结点)时,slow 正好走到第二个中间结点。

在这里插入图片描述
总结以上规律,应在当 fast 遇到或越过尾节点时跳出循环,并返回 slow 即可。

示例动图展示:在这里插入图片描述

c代码:

/*** Definition for singly-linked list.* struct ListNode {*     int val;*     struct ListNode *next;* };*/
struct ListNode* middleNode(struct ListNode* head) {//创建快慢指针struct ListNode* slow = head, *fast = head;//循环执行while(fast && fast->next){slow = slow->next;fast = fast->next->next;}//返回中间结点return slow;
}


二. ⛳️链表中倒数第k个结点

⌈ 在线OJ链接,可以转至此处自行练习 ⌋

题目:
输入一个链表,输出该链表中倒数第k个结点。

示例:

输入: 1,{1,2,3,4,5}
输出: {5}

解题思路:
快慢双指针
学习了上题相信大家对快慢双指针已经有了一定了解。本题我们可以先创建快慢双指针 slowfast 分别指向链表的头部:

  1. 先让快指针fast 先向后走k 步;
    注意:当fast向后走的过程中,fast提前为空,说明链表的长度没有 k 大,需要终止程序,返回结果NULL。
  2. 然后快指针fast 和慢指针slow 一起循环向后走;
  3. 直到fast为空时终止循环,返回slow即可。

示例动图展示:在这里插入图片描述

c代码:

/*** struct ListNode {*	int val;*	struct ListNode *next;* };*//*** * @param pListHead ListNode类 * @param k int整型 * @return ListNode类*/
struct ListNode* FindKthToTail(struct ListNode* pListHead, int k ) {// write code here//创建快慢双指针 slow 和 fast 分别指向链表的头部struct ListNode* slow = pListHead, *fast = pListHead;//先让快指针fast 先向后走 k 步for(int i = 0; i < k; i++){//如果fast提前为空,需要终止程序,返回结果NULLif(fast == NULL){return NULL;}fast = fast->next;}//快指针fast 和慢指针slow 一起循环向后走//fast为空时终止循环while(fast){slow = slow->next;fast = fast->next;}//返回return slow;
}


📝结语

     今天的干货分享到这里就结束啦!如果觉得文章还可以的话,希望能给个三连支持一下,聆风吟的主页还有很多有趣的文章,欢迎小伙伴们前去点评,您的支持就是作者前进的最大动力!
在这里插入图片描述

http://www.ds6.com.cn/news/45013.html

相关文章:

  • 各大手机官网如何优化标题关键词
  • 高端建筑企业简介网站seo外链
  • 怎样做网站导航界面seo站内优化培训
  • 天猫网站建设营销方案策划
  • 河北石家庄网站建设产品推广运营方案
  • 什么叫网站降权关键词优化怎么操作
  • 网站建设的多少钱学校网站模板
  • 123网址之家118企业网站如何优化
  • ps做汽车网站下载bt磁力兔子引擎
  • 天津做网站的网络公司能打开各种网站的搜索引擎
  • java做网站开发的流程九江seo公司
  • 疫情最新数据消息第二波seo入门培训班
  • qq整人网站怎么做关键词优化到首页怎么做到的
  • 浙江网站建设推广公司找哪家热点新闻事件今日最新
  • 电商网站是怎么建设的seo关键词布局案例
  • 外国网站接单做翻译晋中网络推广
  • 网站精简布局营销培训班
  • 赣州网站制作如何建立网页
  • 网站卖掉被拿来做博彩了网络营销与直播电商怎么样
  • 网站院长信箱怎么做做关键词优化的公司
  • 高密专业网站建设价格平台优化
  • 唐山网站制作专业如何通过网络营销自己
  • 好网站你知道重庆seo优化公司
  • 重庆市城乡建设和管理委员会网站搜盘网
  • 深圳高端网站建设美工哪个模板建站好
  • wordpress插件flashseo内部优化方式包括
  • 苹果cms永久免费建站北京债务优化公司
  • 做亚马逊常用的网站百度经验实用生活指南
  • 郑州建站多少钱电商软文范例100字
  • 贸易类文章网站外贸推广如何做