给定一个链表,两两交换其中相邻的节点,并返回交换后的链表。
你不能只是单纯的改变节点内部的值,而是需要实际的进行节点交换。
ListNode* swapPairs(ListNode* head) {
if(nullptr == head)
return nullptr;
ListNode *p1 = nullptr, *p2 = nullptr;
ListNode *p3 = nullptr;
p1 = head;
p2 = p1->next;
head = nullptr != p2 ? p2 : p1;
if(nullptr != p1 && nullptr != p2) {
p3 = p2->next;
p2->next = p1;
p1->next = swapPairs(p3);
}
return head;
}



被折叠的 条评论
为什么被折叠?



