Java 什么';“的意思是什么;first.next=second.next&引用;

Java 什么';“的意思是什么;first.next=second.next&引用;,java,Java,这段代码将成对交换节点,“first.next=second.next;”的含义是什么? 示例:如果给定1->2->3->4,则应将列表返回为2->1->4->3 class Solution { public ListNode swapPairs(ListNode head) { ListNode dummy = new ListNode(0); dummy.next = head; ListNode curr = dummy; while(curr.ne

这段代码将成对交换节点,“first.next=second.next;”的含义是什么? 示例:如果给定1->2->3->4,则应将列表返回为2->1->4->3

class Solution {
public ListNode swapPairs(ListNode head) {
    ListNode dummy  = new ListNode(0);
    dummy.next = head;
    ListNode curr = dummy;


    while(curr.next!=null && curr.next.next!=null){
      ListNode first = curr.next;
      ListNode second = curr.next.next;
      first.next = second.next;
        curr.next = second;
      curr.next.next = first;
      curr = curr.next.next;
    }
    return dummy.next;
}

}因为我们知道
dummy.next
是列表的头,我们知道
curr
dummy
相同,然后我们知道
first=curr.next表示第一个是列表的标题。
因此,
second=curr.next.next
告诉我们,
second
是列表中第一个元素之后的元素

此函数的目标是成对交换元素。当前列表如下所示:

curr -> first -> second -> second.next -> second.next.next -> ... 
但是当我们执行
first.next=second.next订单更改,我们得到:

curr -> first -> second.next 
然后行
curr.next=second再次更改列表并为我们提供:

 curr -> second -> first -> second.next 

因此,该对的顺序被切换。剩下的代码只是将curr移动到下一对以准备交换它们

请为我们提供
ListNode
的类定义,请为您的问题添加更多详细信息。可能无法回答您核心问题的简单答案是:“它将
second.next
的值分配给
first.next
”。但这不是你要问的。请详细说明您的问题。为什么不在调试器中运行代码?