删除链表的倒数第n个节点,双指针实现
/**
* Definition for singly-linked list.
* public class ListNode {
* int val;
* ListNode next;
* ListNode() {}
* ListNode(int val) { this.val = val; }
* ListNode(int val, ListNode next) { this.val = val; this.next = next; }
* }
*/
class Solution {
public ListNode removeNthFromEnd(ListNode head, int n) {
ListNode h,q,r,t;
h=new ListNode();
h.next=head;
q=t=h;
r=h.next;
for(int i=0;i<n;i++){
t=t.next;
}
while(t.next!=null){
t=t.next;
q=q.next;
r=r.next;
}
q.next=r.next;
return h.next;
}
}