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

外贸网站建设入门百度推广开户渠道公司

外贸网站建设入门,百度推广开户渠道公司,wordpress4.8优化,图书管理系统网站开发链表中倒数第k个节点 输入一个链表,输出该链表中倒数第 kk 个结点。 注意: k > 1;如果 kk 大于链表长度,则返回 NULL; 数据范围 链表长度 [ 0 , 30 ] [0,30] [0,30]。 样例 输入:链表:1->2->3->4-&…

链表中倒数第k个节点


输入一个链表,输出该链表中倒数第 kk 个结点。

注意:

  • k >= 1;
  • 如果 kk 大于链表长度,则返回 NULL;
数据范围

链表长度 [ 0 , 30 ] [0,30] [0,30]

样例
输入:链表:1->2->3->4->5 ,k=2输出:4

方法思路

由于单链表不能直接索引到前驱节点,只能从前往后遍历。我们通过两次遍历解决问题:

  1. 第一次遍历:获取链表总长度 n
  2. 第二次遍历:计算倒数第 k 个节点的正序位置为 n - k + 1,遍历到该位置即可得到目标节点。

注意:当 k > n 时,需返回 nullptr

时间复杂度
  • O(n):链表总共遍历两次,时间复杂度为线性。
/*** Definition for singly-linked list.* struct ListNode {*     int val;*     ListNode *next;*     ListNode(int x) : val(x), next(NULL) {}* };*/
class Solution {
public:ListNode* findKthToTail(ListNode* pListHead, int k) {int n = 0;for(auto p  = pListHead; p; p = p->next) n ++;if(k > n) return nullptr;auto p = pListHead;for(int i = 0; i < n - k; i ++) p = p->next;return p;}
};

假设链表为 1 -> 2 -> 3 -> 4 -> 5,求倒数第 2 个节点:

  1. 第一次遍历n = 5
  2. 计算位置n - k + 1 = 5 - 2 + 1 = 4
  3. 第二次遍历:移动到第 4 个节点(值为 4),返回结果。
边界条件
  • k <= 0k > n 时返回 nullptr
  • 空链表直接返回 nullptr
http://www.dtcms.com/wzjs/315478.html

相关文章:

  • 最好的网站建设机构百度竞价投放
  • 网站排名技巧线上推广产品
  • 邳州做网站全国疫情今天最新消息
  • 网络系统管理员在哪里台州seo公司
  • 阿里云建设网站费用北京网络seo
  • 制作一个简单网站腾讯体育nba
  • 办公空间设计经典案例什么是seo关键词
  • 网站开发 asp.net 还要学什么最好的bt种子搜索引擎
  • 我想帮别人做网站有这样的平台吗百度地图优化排名方法
  • 企业网站建设制作设计哪家最专业排行榜软件
  • 图文网站模版周口网站建设公司
  • 莱芜哪里做网站seo网站优化服务商
  • 做公司网站需要几天营销引流都有什么方法
  • 怎么做网站搜索框搜索长沙关键词排名软件
  • 鄂州网站制作企业seo优化宣传
  • 玩具网站的制作怎么做网站推广
  • 莱芜二手房出售信息最新房源湖南seo博客seo交流
  • 建筑类专业做教育的网站淄博做网站的公司
  • 建设和交通局网站石家庄疫情防控最新政策
  • 网站推广句子seo优化方案策划书
  • 公司营销型网站建设策划书网络营销出来可以干什么工作
  • 做网站备案地点怎么优化一个网站
  • 网页设计和网站设计网站推广常用方法
  • 安全生产标准化建设网站三门峡网站seo
  • 宜兴网站开发济南seo公司
  • 网站图片做cdn汽车营销策划方案ppt
  • 深圳市网站维护专业seo站长工具
  • 哪里找专业做网站的公司搜索引擎优化搜索优化
  • 如何做婚恋网站网站建设的数字化和互联网化
  • 动态网站制作报价上海优化公司有哪些