Java 什么';“的意思是什么;first.next=second.next&引用;
这段代码将成对交换节点,“first.next=second.next;”的含义是什么? 示例:如果给定1->2->3->4,则应将列表返回为2->1->4->3Java 什么';“的意思是什么;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
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
”。但这不是你要问的。请详细说明您的问题。为什么不在调试器中运行代码?