/**
* Definition for singly-linked list.
* struct ListNode {
* int val;
* ListNode *next;
* ListNode(int x) : val(x), next(NULL) {}
* };
*/
//模拟题,直接按照题意交换相邻结点即可
class Solution {
public:
ListNode *swapPairs(ListNode *head) {
ListNode newHead(-1);
newHead.next = head;
ListNode *pre = &newHead;
ListNode *cur = head;
while(cur != nullptr && cur->next != nullptr){
pre->next = cur->next;
pre = cur;
ListNode *tmp = cur->next;
cur->next = tmp->next;
tmp->next = cur;
cur = cur->next;
}
return newHead.next;
}
};LeetCode之Swap Nodes in Pairs
最新推荐文章于 2024-10-10 01:02:39 发布
本文介绍了一种简单的算法来交换链表中相邻节点的值,通过创建虚拟头节点并利用指针操作实现。具体步骤包括初始化虚拟头节点、设置当前节点和临时节点,然后循环遍历链表直到最后一个节点,每次交换当前节点和下一个节点的值,并更新指针指向。
119

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



