Предположим, что мы имеем один список 1->2->3->4->5
и 1
является head
Singlely LinkedList копия confusioin
ListNode newHead = new ListNode(0);
ListNode p = newHead;
ListNode runner = newHead;
newHead.next = head; // Line 1 p and runner next is also head
while(n>0){
runner = runner.next; // Line 2 why newHead and p does not move along with runner just as above because they are equal object (I assume)
n--;
}
Почему не p
, newHead
и runner
все изменения в то же время? В Line 1
они делают, но в Line 2
они этого не делают, почему?
Где вы определяете 'head'? Строка 1, по-видимому, используется, чтобы заставить цикл цикла работать и для главы списка. Не могли бы вы также объяснить ожидаемое поведение кода? –