LeetCode 19 删除链表的倒数第N个节点

Posted 章章的魔法小屋

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了LeetCode 19 删除链表的倒数第N个节点相关的知识,希望对你有一定的参考价值。

LeetCode 19 删除链表的倒数第N个节点 题目跳转链接


class Solution 
public:
    ListNode* removeNthFromEnd(ListNode* head, int n) 
        ListNode* dummyHead=new ListNode(0);
            dummyHead->next=head;
        ListNode* fast=dummyHead;
        ListNode* slow=dummyHead;
        ListNode* temp;

     //   for(int i=0;i<=n;i++)  //这里是<=n 多走一次
       // 
       //     fast=fast->next;   
       //                       //这样写有报错,fast会为空
        while(n--&&fast!=nullptr)
        
            fast=fast->next;
        
        fast=fast->next;   //fast先走一步,相当于slow慢了一步,删掉slow前面的那个节点

        while(fast!=nullptr)  //最后一个的下一个 即最后一个的 fast->next 是不满足条件的 进不去
        
            fast=fast->next;
            slow=slow->next;
        
        temp=slow->next;
        slow->next=slow->next->next;
        delete temp;

        return dummyHead->next;
    
;


以上是关于LeetCode 19 删除链表的倒数第N个节点的主要内容,如果未能解决你的问题,请参考以下文章

leetcode 19.删除链表的倒数第N个节点

leetcode 19. 删除链表的倒数第N个节点

leetcode 19. 删除链表的倒数第N个节点

LeetCode19----删除链表的倒数第N个节点

leetcode 19 删除链表的倒数第N个节点

LeetCode 19——删除链表的倒数第 N 个节点