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

4.8刷题记录(双指针)

今天刷的部分是代码随想录中的双指针专题代码随想录

由于里面包含的题目大部分之前刷过,并且用双指针做过。所以今天仅仅复习,不再进行代码的搬运。

1.19. 删除链表的倒数第 N 个结点 - 力扣(LeetCode)

分析:此题无非就是找到哪个点,然后将其删除即可。所以最大的难度在于如何找到那个点。接下来提供两种思路,第一种两次遍历,找到要删除的前一个。第二个通过双指针,先通过fast找到m位置,slow找到0位置。然后二者同时走n-m个位置,判断条件为fast走向了n即末尾的位置。这时候slow指向的就是n-m即倒数m的位置。

class Solution {
public:
    ListNode* removeNthFromEnd(ListNode* head, int n) {
        //0.增加一个头节点
        ListNode dimmy=ListNode(0,head);
        //1.首先遍历
        ListNode*p=head;
        int count=0;
        while(p){
            count++;
            p=p->next;
        }
        //2.进行划分,找到前驱节点
        count=count-n;
        p=&dimmy;
        while(count>0){
            count--;
            p=p->next;
        }
        //3.进行删除
        //此时p为前驱节点
        ListNode *temp=p->next;
        p->next=temp->next;
        delete(temp);
        return dimmy.next;
    }
};
//方法二
class Solution {
public:
    ListNode* removeNthFromEnd(ListNode* head, int n) {
        //0.增加一个头节点
        ListNode dimmy=ListNode(0,head);
        //1.初始化双指针
        ListNode*fast=&dimmy;
        ListNode*slow=&dimmy;
        //2.fast先走n个位置
        while(n>0&&fast&&fast->next){
            fast=fast->next;
            n--;
        }
        // fast=fast->next;
        //3.然后二者一起继续走
        while(fast&&fast->next){
            fast=fast->next;
            slow=slow->next;
        }
        //4.删除结点
        slow->next=slow->next->next;
        //5.输出
        return dimmy.next;
    }
};

相关文章:

  • 15-17手写持久层框架优化
  • 【Linux高级IO(三)】Reactor
  • Java基础编程练习第38题-除法器
  • C++隐式转换的机制、风险与消除方法
  • LLMs之Llama:Llama 4(Llama 4 Maverick Scout)的简介、安装和使用方法、案例应用之详细攻略
  • 基于人工智能的高中教育评价体系重构研究
  • MATLAB2024a超详细图文安装教程(2025最新版保姆级教程)附安装钥
  • 模板方法模式详解
  • Django学习记录-1
  • 利用 schedule 模块在每日上午每 3 秒执行任务
  • 【接口自动化_数据格式与类型】
  • 【C】结构体初始化方法
  • Linux网络多进程并发服务器和多线程并发服务器
  • 全面解析https代理服务器URL
  • Linux | I.MX6ULL外设功能验证(第10天)
  • synchronized锁升级详解
  • Leedcode刷题 | Day27_贪心算法01
  • 机器学习课堂6交叉熵代价函数的逻辑回归模型
  • RNN、LSTM、GRU汇总
  • IDEA 中右侧没有显示Maven
  • 网站支付链接怎么做的/合肥网络营销公司
  • wordpress 小说/本地网络seo公司
  • 网站可以用中国二字做抬头吗/辽源seo
  • 免费域名申请地址/优化网站排名茂名厂商
  • h5网站建设公司/找客户的软件有哪些
  • 手表网站制作模板/黄页推广2021