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

怎么样购买网站空间友情链接

怎么样购买网站空间,友情链接,深圳石岩建网站,政府网站建设硬件题目 给你一个链表,删除链表的倒数第 n 个结点,并且返回链表的头结点。 示例 示例 1: 输入:head [1,2,3,4,5], n 2 输出:[1,2,3,5]示例 2: 输入:head [1], n 1 输出:[]示例 3&…

题目

给你一个链表,删除链表的倒数第 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]

分析

为了删除链表的倒数第 n 个结点,可以使用双指针法。具体思路是先让一个指针 fast 向前移动 n 步,然后再让另一个指针 slow 从链表头开始,与 fast 指针同时移动,当 fast 指针到达链表末尾时,slow 指针正好指向倒数第 n + 1 个结点,此时删除 slow 指针的下一个结点即可。

双指针法

时间复杂度:O(L), L 是链表的长度

空间复杂度:O(1)

class Solution {
public:ListNode* removeNthFromEnd(ListNode* head, int n) {// 创建一个虚拟头结点,方便处理删除头结点的情况ListNode* dummy = new ListNode(0, head);ListNode* fast = dummy;ListNode* slow = dummy;// 让 fast 指针向前移动 n 步for (int i = 0; i <= n; ++i) {fast = fast->next;}// 同时移动 fast 和 slow 指针,直到 fast 指针到达链表末尾while (fast) {fast = fast->next;slow = slow->next;}// 删除倒数第 n 个结点ListNode* temp = slow->next;slow->next = slow->next->next;delete temp;// 返回新的头结点ListNode* newHead = dummy->next;delete dummy;return newHead;}
};    
http://www.dtcms.com/wzjs/60925.html

相关文章:

  • 昆明网站设计能实现什么功能自动app优化
  • html5网站开发工具网页制作接单平台
  • 网站开发公司哪里济南兴田德润实惠吗电商平台怎么运营的
  • 百度网站关键词和网址seo怎样才能优化网站
  • python做网站 框架2023年8月份新冠
  • 便宜手机网站建设个人博客网站怎么做
  • 青岛需要做网站的公司搜索引擎优化效果
  • 洛阳住房和城乡建设厅网站免费做网站
  • 直播网站提供搜索引擎优化公司
  • 网站设计遇到难题产品软文范例100字
  • 做酒店网站设计seo快速优化报价
  • 重庆建设工程质量协会网站谷歌seo搜索引擎优化
  • 和网站建设相关的行业seo的重要性
  • 那个大学业做网站seo搜索引擎优化步骤
  • 中港海通网站是谁做的西安百度搜索排名
  • 天津设计网站建设产品推广计划
  • 韩韩良品只做性价比网站下载商丘seo
  • 专业企业网站建设公司徐州网页关键词优化
  • 做网站的地方福州seo管理
  • 门户网站建设对策及建议中国疾控卫生应急服装
  • 做网站页面过大好影视后期哪个培训靠谱
  • 东莞网站建设纸品包装seo关键词优化外包
  • 深圳罗湖网站制作网站seo 优化
  • 天津做一个简单的网站首页观看b站的广告网站平台
  • 速升网站杭州百度百科
  • pdf 网站建设百度推广登录入口登录
  • 免费平台西安seo网站排名
  • .net作业做网站百度搜索关键词排名人工优化
  • 江苏省建设厅官方网站资质查询站长工具seo综合查询源码
  • 哈尔滨手机网站建设报价代发新闻稿最大平台