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

越秀重点场所郑州seo联系搜点网络效果好

越秀重点场所,郑州seo联系搜点网络效果好,东营市河口区建设局网站,建设网站的报价世界这么大,人生这么长,总会有这么一个人,让你想要温柔对待。 原题如下: 输入一个链表,输出该链表中倒数第k个节点。为了符合大多数人的习惯,本题从1开始计数,即链表的尾节点是倒数第1个节点。 …

  世界这么大,人生这么长,总会有这么一个人,让你想要温柔对待。


原题如下:

在这里插入图片描述
  输入一个链表,输出该链表中倒数第k个节点。为了符合大多数人的习惯,本题从1开始计数,即链表的尾节点是倒数第1个节点。
  例如,一个链表有 6 个节点,从头节点开始,它们的值依次是 1、2、3、4、5、6。这个链表的倒数第 3 个节点是值为 4 的节点。

审题:
  题目也还是很好理解,就是输出一个单链表的倒数第K个结点。

可能给我们的单链表的情况:
1.空的单链表;
2.有多个结点,但是K的值不合理(即K的值大于链表的长度或K小于1);
3.有多个结点,且K的值是合理的。


方案设计:
   本题的核心问题是如何确定K的值
第一种方案:
  这种方案肯定是大家都能想到的,就是先通过遍历一遍链表,计算出单链表有几个结点。则可以判断K值是否合理,也就可以得出其倒数第K个结点是哪一个结点了。这种方案易懂,编写算法也容易,但是这种方案相比执行效率不高,毕竟要通过遍历两次。在这里就不分析过程了,直接给出代码如下:

class Solution {
public:ListNode* getKthFromEnd(ListNode* head, int k) {if(k<1||head==NULL)return NULL;int num=0;ListNode*traversal=head;while(traversal)//计算链表有几个结点{num++;traversal=traversal->next;}traversal=head;//重新指向头结点if(k>num)return NULL;//判读K值是否合理for(int i=0;i<num-k;i++){traversal=traversal->next;}return traversal;}
};

第二种方案:
   第二种方案,根据其给的K值出发,利用快慢双指针让快指针先走K个结点。如果快指针还没有走完这K次就指向了NULL,则认为K是不合理的。否则再让两个指针一起走,当快指针为NULL时,慢指针所指的结点就是倒数第K个结点。假如有如下的单链表:k=2
在这里插入图片描述
   让快指针和慢指针都初始为指向第一个结点,如下:
在这里插入图片描述
   让快指针先走K个结点,即两个结点,如下:
在这里插入图片描述
  再让快慢指针一起走,当快指针指向NULL时,慢指针所指的结点就是倒数第K个结点,如下:
在这里插入图片描述

  这种方案的基本原理在于两个指针始终保持K个结点的距离。

代码实现如下:

class Solution {
public:ListNode* getKthFromEnd(ListNode* head, int k) {if(k<1||head==NULL)return NULL;ListNode*fast=head;ListNode*slow=head;for(int i=0;i<k;i++)//让快指针提前走K个结点{fast=fast->next;}while(fast)//再让快慢指针一起走{fast=fast->next;slow=slow->next;}return slow;}
};

  这种方案只需要遍历一次单链表就可以了。


  学会了嘛,我是老胡,感谢阅读!!❤️ ❤️

http://www.lbrq.cn/news/2651653.html

相关文章:

  • 手机网站建设沈阳站长工具免费
  • 网站建设的基本知识高端网站建设哪个好
  • 织梦网站名称标签什么是百度搜索推广
  • 西安网站制作培训优化营商环境心得体会2023
  • 没有网怎么安装wordpressseo排名怎么优化软件
  • 河北邯郸seo网站建设网站优化常用的网络营销工具有哪些
  • 营销网站建设的规则个人怎么做网站
  • 网站建设pc移动appseo推广网址
  • 114黄页网推广冯耀宗seo教程
  • 河南 网站建设百度搜索风云榜小说
  • 四川建设厅网站 蒋app代理推广平台
  • 行业网站建设教程软文推广渠道主要有
  • 昆明网站建设一条龙服务交换友情链接的渠道有哪些
  • 三站合一网站建设有域名和服务器怎么建网站
  • wordpress建站教程阿里云seo薪资
  • 开家给别人做网站公司搜索引擎优化自然排名的优点
  • 自己如何做网站优化外贸网站建设设计方案
  • 深圳沙井公司网站建设sem和seo是什么意思
  • 做网站有必要注册商标吗今日国际新闻热点
  • 做网站送商标新闻稿营销
  • 青岛网站建设定制网络营销专业学什么
  • 廊坊做网站的电话宣传推广计划
  • 微信导航网站怎么做的优化网站怎么做
  • 数据库对于做网站的重要性如何免费创建自己的平台
  • nanopi neo做网站刷移动端seo软件
  • 找人做网站都需要提供什么品牌营销策略论文
  • 站长工具推荐谷歌google浏览器
  • 做网站建设怎么找客户乐云seo官网
  • 制作音乐的软件app如何优化百度seo排名
  • 西安网站建设公司云网网络销售管理条例
  • 谷歌搜索 sg_ss 逆向分析
  • 使用 Prometheus+cAdvisor 监控 Docker 容器指标
  • 自由学习记录(79)
  • C/C++与JavaScript的WebAssembly协作开发指南
  • Vue3 组合式API
  • Git 基础操作笔记(速查)