Leetcode19. 删除链表的倒数第 N 个结点(中等)双指针

struct ListNode* removeNthFromEnd(struct ListNode* head, int n){
        struct ListNode* dummyHead = (struct ListNode*)malloc(sizeof(struct ListNode));
        dummyHead->next = head;
        struct ListNode*slow=dummyHead,*fast=dummyHead;
        for(int i=0;i<n+1;i++){
            fast=fast->next;
        }
        while(fast!= NULL){
            slow=slow->next;
            fast=fast->next;
        }
        struct ListNode*temp=slow->next;
        slow->next=temp->next;
        free(temp);
        return dummyHead->next;
}

你可能感兴趣的:(LeetCode,链表,数据结构)