4.7
/**
* Definition for singly-linked list.
* public class ListNode {
* int val;
* ListNode next;
* ListNode(int x) { val = x; }
* }
*/
public class Solution {
/**
* @param head a ListNode
* @return a ListNode
*/
public ListNode swapPairs(ListNode head) {
if(head == null || head.next == null){
return head;
}
ListNode node1 = head;
ListNode node2 = head.next;
while(node1 != null && node2 != null){
int temp = node1.val;
node1.val = node2.val;
node2.val = temp;
node1 = node2.next;
if(node1 != null){
node2 = node1.next;
}
else{
return head;
}
}
return head;// Write your code here
}
}
本文介绍了一种链表中相邻节点值进行交换的算法实现。该算法通过遍历链表,找到每一对相邻节点并交换它们的值,直至链表末尾。此方法不改变链表的结构仅交换节点值,适用于需要对链表数据进行特定操作的场景。
555

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



