给你一个链表,两两交换其中相邻的节点,并返回交换后链表的头节点。你必须在不修改节点内部的值的情况下完成本题(即,只能进行节点交换)。
示例 1:

输入:head = [1,2,3,4] 输出:[2,1,4,3]
文章讲解:代码随想录
视频讲解:帮你把链表细节学清楚! | LeetCode:24. 两两交换链表中的节点_哔哩哔哩_bilibili
第一印象:主要是指针指向哪里和循环条件的判断。
看完视频:很清晰,有很多细节去注意。
class Solution {
public ListNode swapPairs(ListNode head) {
ListNode dummy = new ListNode(0);
dummy.next = head;
ListNode curr = dummy;
ListNode temp1;
ListNode temp2;
while (curr.next != null && curr.next.next != null) {
temp1 = curr.next;
temp2 = curr.next.next.next;
curr.next = curr.next.next;
curr.next.next = temp1;
temp1.next = temp2;
curr = curr.next.next;
}
return dummy.next;
}
}
文章讲述了如何使用Python实现LeetCode题目24——两两交换链表中的节点,通过指针操作不修改节点值完成节点交换,视频中详细讲解了过程和需要注意的细节。
417

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



