给你一个链表,删除链表的倒数第 n 个结点,并且返回链表的头结点。
输入:head = [1,2,3,4,5], n = 2
输出:[1,2,3,5]
题解:
//快慢指针,考虑边界
var removeNthFromEnd = function(head, n) {
let p=head;
let q=new ListNode(0,head);
if(head.next==null){
return null;
}
for(let i=0;i<n;i++){
p=p.next;
}
if(!p){
return head.next;
}
while(p){
p=p.next;
q=q.next;
}
q.next=q.next.next;
return head;
};