day4 移出倒数第n个节点

ListNode* removeNthFromEnd(ListNode* head, int n) {
        ListNode* dummyHead = new ListNode(0);
        dummyHead->next = head;
        ListNode* slow = dummyHead;
        ListNode* fast = dummyHead;
        while(n-- && fast != NULL) {
            fast = fast->next;
        }
        fast = fast->next; // fast再提前走一步,因为需要让slow指向删除节点的上一个节点
        while (fast != NULL) {
            fast = fast->next;
            slow = slow->next;
        }
        slow->next = slow->next->next; 
        
        // ListNode *tmp = slow->next;  C++释放内存的逻辑
        // slow->next = tmp->next;
        // delete tmp;
        
        return dummyHead->next;
    }

 

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2023-12-09 19:28:03       98 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2023-12-09 19:28:03       106 阅读
  3. 在Django里面运行非项目文件

    2023-12-09 19:28:03       87 阅读
  4. Python语言-面向对象

    2023-12-09 19:28:03       96 阅读

热门阅读

  1. ArchLinux下载链接

    2023-12-09 19:28:03       65 阅读
  2. Python中一些有趣的例题

    2023-12-09 19:28:03       52 阅读
  3. SELinux refpolicy详解(13)

    2023-12-09 19:28:03       63 阅读
  4. 车载蓝牙音乐流程简单分析

    2023-12-09 19:28:03       60 阅读
  5. 装箱 Box 数据类型

    2023-12-09 19:28:03       55 阅读
  6. Linux 常用命令

    2023-12-09 19:28:03       64 阅读
  7. 从视频中截取指定帧图片

    2023-12-09 19:28:03       53 阅读
  8. Qt 编译fcitx-qt5 插件支持中文输入法

    2023-12-09 19:28:03       52 阅读
  9. 考研真题数据结构

    2023-12-09 19:28:03       46 阅读