力扣19题打卡-删除单链表的倒数第N个数

力扣19题打卡-删除单链表的倒数第N个数_第1张图片

通过构造虚拟头指针法:

双指针法:快指针先走n步,再让快慢指针同时走。快指针到最后结束,再删除慢指针指向节点的下一个节点,完成。

class Solution {
    ListNode dimmynode = new ListNode(0);
    public ListNode removeNthFromEnd(ListNode head, int n) {
        dimmynode.next = head;
        ListNode low, fast;
        low = dimmynode;
        fast = dimmynode;
        while(n-->0){
            fast = fast.next;
        }
        while(fast.next != null){
            fast = fast.next;
            low = low.next;
        }
        low.next = low.next.next;
        return dimmynode.next;
    }
}

你可能感兴趣的:(算法,leetcode,算法,职场和发展)