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

网络文学网站开发如何做服装的微商城网站建设

网络文学网站开发,如何做服装的微商城网站建设,seo营销专员,为网站做外链的文章题解:删除链表的倒数第 N 个节点(LeetCode 第 19 题)一、题目描述 给定一个单链表,删除链表的倒数第 n 个节点,并返回链表的头节点。二、解题思路 如果我们从头遍历链表,想找“倒数第 n 个节点”&#xff0…

在这里插入图片描述

题解:删除链表的倒数第 N 个节点(LeetCode 第 19 题)


一、题目描述

给定一个单链表,删除链表的倒数第 n 个节点,并返回链表的头节点。


二、解题思路

如果我们从头遍历链表,想找“倒数第 n 个节点”,必须知道整个链表长度。但那样就要 遍历两次链表

为了优化效率,这里我们使用一个非常常用的技巧:

双指针法(快慢指针) —— 只遍历一次!

技巧关键:

  • 创建两个指针 p1p2
  • 先让 p1 先走 n 步
  • 然后 p1p2 一起走,直到 p1 到达链表末尾;
  • 此时 p2 就正好在 倒数第 n 个节点的前一个节点

这样我们就可以通过 p2->next = p2->next->next 删除目标节点了。

为了简化边界处理(比如删除的是头结点),我们使用一个 虚拟头结点 dummy


三、代码实现

/*** Definition for singly-linked list.* struct ListNode {*     int val;*     ListNode *next;*     ListNode() : val(0), next(nullptr) {}*     ListNode(int x) : val(x), next(nullptr) {}*     ListNode(int x, ListNode *next) : val(x), next(next) {}* };*/class Solution {
public:// 主函数:删除倒数第 n 个节点ListNode* removeNthFromEnd(ListNode* head, int n) {// 虚拟头节点,处理头节点被删除的情况ListNode* dummy = new ListNode(0);dummy->next = head;// 找到倒数第 n+1 个节点(即待删节点的前一个)ListNode* x = findFromEnd(dummy, n + 1);// 删除操作:跳过第 n 个节点x->next = x->next->next;// 返回新链表头return dummy->next;}// 辅助函数:找到倒数第 n 个节点ListNode* findFromEnd(ListNode* head, int n){ListNode* p1 = head;// 先让 p1 向前走 n 步for(int i = 0; i < n; ++i){p1 = p1->next;}// 然后让 p1 和 p2 一起走ListNode* p2 = head;while(p1 != nullptr){p1 = p1->next;p2 = p2->next;}// p2 就是倒数第 n 个节点return p2;}
};

四、时间复杂度分析

操作复杂度
单次遍历链表O(L),L 是链表长度
空间复杂度O(1),只使用了两个指针

所以这是一个 时间 O(n)、空间 O(1) 的解法。



文章转载自:

http://PfJKiGD9.jrtjc.cn
http://Ldqegu0A.jrtjc.cn
http://bNBiC4F5.jrtjc.cn
http://l4PIKlLe.jrtjc.cn
http://NbNLNHwQ.jrtjc.cn
http://cWtg1jCz.jrtjc.cn
http://Efoe6qqe.jrtjc.cn
http://Ehtf7Ban.jrtjc.cn
http://qP0bUjRw.jrtjc.cn
http://9OylJjTC.jrtjc.cn
http://0Ps0aFVe.jrtjc.cn
http://pZq8EgVH.jrtjc.cn
http://8ICj42U3.jrtjc.cn
http://LT2HTSKT.jrtjc.cn
http://sJtdfP1w.jrtjc.cn
http://X1IK1HWq.jrtjc.cn
http://T0dk26A5.jrtjc.cn
http://OjP030ok.jrtjc.cn
http://lQbTrxcb.jrtjc.cn
http://i5EZcV7c.jrtjc.cn
http://Sp558zCa.jrtjc.cn
http://h8OpeY4P.jrtjc.cn
http://2yca3jit.jrtjc.cn
http://XyRb8pZ3.jrtjc.cn
http://wVyTbEE8.jrtjc.cn
http://nybLVjqM.jrtjc.cn
http://Nz2AcA1S.jrtjc.cn
http://vkW4wOHM.jrtjc.cn
http://fHnQW3jn.jrtjc.cn
http://vKcVLF28.jrtjc.cn
http://www.dtcms.com/wzjs/767582.html

相关文章:

  • 做网站的费用会计分录做网站需要哪些钱
  • 潍坊网站建设 中公asp+php+mysql+aspx环境搭建与6种网站安装2
  • 自己做视频网站资源从哪里来wordpress修改文章页面模板
  • 网站建设公司广告标题语白银市建设管理处网站
  • 做网站什么主题比较好wordpress 支付宝捐赠
  • 高质量的常州网站建设甘肃省建设信息平台
  • 网站开发工具特点总结域名备案和网站备案有什么区别
  • 重庆智能模板建站东营教育信息网官网
  • 网站建设培训视频建设网站的公司排名
  • 企业网站建设的背景和目的淄博网站公司
  • 张家港电脑网站制作网站开发html文件规范
  • 什么免费网站可以链接域名全网营销公司
  • 行业网站源码河北邢台区号
  • 多仓库版仓库管理网站建设源码it运维
  • 张家港江阴网站制作广州网站建设网站定制
  • 怎么用idea做响应式网站百度小说风云榜今天
  • jq做6个网站做什么好如何利用网络进行推广和宣传
  • 西山区城市建设局网站新网站seo技术
  • 学校网站建设经验介绍淘宝网店代运营哪家好
  • 吕梁做网站的公司网站精简布局
  • 网站推广软文选天天软文seo优化sem
  • 设计师网站介绍wordpress jetpack 3.7.2
  • 网站地图在线制作工具品牌网站制作简创网络
  • 浙江邮电建设工程有限公司网站网站平台建设合同
  • 怎样做网站运营上海加盟网站建设
  • 开发一个网站需要多少人网站空间后台登录
  • 珠宝销售网站源码如何架设一个网站
  • 包装盒在线设计网站简历表格 个人简历
  • 单页网站模板做seo计算机基础培训机构
  • 苏州建设网站公司在什么地方学而思网校官网