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

(链表 删除链表的倒数第N个结点)leetcode 19

设空结点指向head便于插入和删除结点

考虑特殊情况 head结点被删除

a结点仅用来测试长度,找到目标结点的位置

b结点为空结点指向head返回值

cur用来删除目标值(特殊情况 目标值为head 这时cur=b)

则开始就将cur初始化为b开始遍历

/**
 * 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:
    ListNode* removeNthFromEnd(ListNode* head, int n) {
        if(head->next==nullptr)
        {
            return nullptr;
        }

    ListNode* a=head;
    ListNode* b= new ListNode();
    ListNode* cur=b;
    b->next=head;
    int len=0;
    while(a!=nullptr)
    {
        a=a->next;
        len++;
    }
    
    for(int i=1;i<=len-n;i++)//使cor置于目标结点的前面,目标结点可能是head 
    {
       cur=cur->next;
    }
    cur->next=cur->next->next;
    return b->next; //目标值不是head 本身b->head 目标值是head的时候cor=b 也是b->head->next
    }
};

http://www.dtcms.com/a/47764.html

相关文章:

  • 【Elasticsearch】自定义内置的索引生命周期管理(ILM)策略。
  • 博客系统测试报告
  • 17. LangChain实战项目2——易速鲜花宣传文案批量生成并导出
  • 探秘基带算法:从原理到5G时代的通信变革【十】基带算法应用与对比
  • 【图像处理与OpenCV:技术栈、应用和实现】
  • 防火墙旁挂组网双机热备负载均衡
  • Storm 踩坑之路
  • Animate Anyone本地部署教程:AI动画生成技术的革命性突破
  • 网卡驱动接收数据----软中断处理数据----socket接收数据
  • 太阳同步轨道的进动速度解析
  • 摄像头应用编程(二):单平面视频采集
  • TCP 连接故障排查与 SYN 洪泛攻击防御
  • 【网络编程】之TCP通信步骤
  • 幸狐picomax SDK 适配 rv1160G2 摄像头
  • CyberRT(apollo) 定时器模块简述及bug分析
  • 【Elasticsearch】索引生命周期管理相关的操作(Index Lifecycle Actions)
  • KVMOVS组网配置案例-4
  • 机器学习:特征提取
  • Linux远程连接vscode
  • MySql面试总结(二)
  • 英码科技携昇腾DeepSeek大模型一体机亮相第三届北京人工智能产业创新发展大会
  • 大数据“调味“ ,智慧“添香“,看永洪科技助力绝味食品数字化新征程
  • vue3.2响应式优化
  • 【漫话机器学习系列】115.曼哈顿距离(Manhattan Distance)
  • 搭建本地AI编程助手Visual Studio Code + Ollama 、JetBrains IDEA + Ollama
  • C语言基础之【指针】(中)
  • Windows环境下Maven的配置
  • 【密码学——基础理论与应用】李子臣编著 第二章 古典密码 课后习题
  • <进程间通信>共享内存
  • 知微传感3D相机上位机DkamViewer使用:设置相机的静态IP