题目:给你一个链表,删除链表的倒数第 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; }
------------------------------------------------------------------------解答区代码-------------------------------------------------------------
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;