题解 | #删除链表的倒数第n个节点#(用两个指针&声明一个头指针)
删除链表的倒数第n个节点
http://www.nowcoder.com/practice/f95dcdafbde44b22a6d741baf71653f6
/**
声明一个头指针便于统一操作
当链表中只有一个节点时,声明一个头指针可以统一操作。
*/
class Solution {
public:
ListNode* removeNthFromEnd(ListNode* head, int n) {
// write code here
ListNode* fast = head,*pre = new ListNode(0);
pre->next = head;
head = pre;
while(n--) fast = fast->next;
while(fast){
pre = pre->next;
fast = fast->next;
}
ListNode *r = pre->next;
pre->next = r->next;
delete r;
return head->next;
}
};
阿里云工作强度 703人发布