/**
* Definition for singly-linked list.
* public class ListNode {
* int val;
* ListNode next;
* ListNode(int x) { val = x; }
* }
*/
ListNode newNode = null;
ListNode nxt = head.next;
head.next = newNode;
newNode = head;
head = nxt;
这里是我的想象,当我看到这一点:如何引用Java中的引用?
说我有一个结构
其中------->
意味着指向(在内存)
head -------> 1->2->3->4->5->6
那么这意味着
ListNode nxt = head.next -------> 2->3->4->5->6
然后当你这样做:
head.next = newNode
head -------> 1->NULL
那么应该不是nxt
成为?
nxt -------> NULL
由于您更改了nxt
指向的内容?
但你并没有改变什么'nxt'指向。 –
'nxt'不指向'head.next'。 'head.next'和'nxt'是指向同一个对象的独立引用。改变一个不会影响另一个。顺便说一句,为什么'newNode == NULL'? – shmosel
用另一种方式表达 - '='指定一个引用;它不会修改被引用的对象。 –