链表--19.删除链表的倒数第N个结点

题目:给你一个链表,删除链表的倒数第 n 个结点,并且返回链表的头结点。

链表--19.删除链表的倒数第N个结点

 

这道题,我自己敲的代码感觉思路和解答区差不多,测试也通过了,但就是死活提交有错,

然后根据解答区代码改了,除了变量名不一样,其他就没差别了,但是还是死活提交错误(相同的错误),这是什么神仙错误??。。。。。。

public ListNode removeNthFromEnd(ListNode head, int n) {
        ListNode pre=new ListNode(0);
                 pre.next=head;
        ListNode p=pre.next;
        ListNode q=pre.next;
        while(n!=0){
            p=p.next;
            n--;
        }
        while(p.next!=null){
            p=p.next;
            q=q.next;
        }
        q.next=q.next.next;
        return pre.next;
    }

链表--19.删除链表的倒数第N个结点

------------------------------------------------------------------------解答区代码-------------------------------------------------------------

ListNode pre = new ListNode(0);
        pre.next = head;
        ListNode start = pre, end = pre;
        while(n != 0) {
            start = start.next;
            n--;
        }
        while(start.next != null) {
            start = start.next;
            end = end.next;
        }
        end.next = end.next.next;
        return pre.next;

链表--19.删除链表的倒数第N个结点

 

上一篇:算法题,c++,合并K个升序链表,原链表修改链接顺序降低空间复杂度,分治合并降低时间复杂度


下一篇:模块化总结(commonjs,ES module)