class Solution{
public:
ListNode* swapPairs(ListNode* head){
ListNode* dummyHead =new ListNode(0);
dummyHead->next=head;
ListNode* cur=dummyHead;
while(cur->next !=nullptr && cur->next->next !=nullptr){
ListNode* tmp =cur->next;
ListNode* tmp1=cur->next->next->next;
cur->next=cur->next->next;
cur->next-next=tmp;
cur->next-next-next=tmp1;
cur=cur->next->next;
}
return dummyhead->next;
}
}
删除链表的倒数第N个节点
class Solution{
public:
ListNode* removeNthFromEnd(ListNode* head,int n){
ListNode* dummyHead=new ListNode(0);
dummyhead->next=head;
ListNode* slow=dummyHead;
ListNode* fast=dummyHead;
while(--n&&fast!=NULL){
fast=fast->next;
}
while(fast !=NULL){
fast=fast->Next;
slow=slow->Next;
}
slow->Next=slow->next->next;
return dummyHead;
}
}