我正在按照this Java solution来了解给定的问题

我得到了大部分信息,即反转逻辑,递归部分,但是在main方法下,我不明白为什么我们将head值分配给由reverse方法返回的值。

llist.head = llist.reverse(llist.head, 3);

最佳答案

在llist.reverse(llist.head,3);中它将以指定的length(3)反转头列表,并分配回llist.head。

1-> 2-> 3-> 4-> 5-> 6-> 7-> 8-> NULL,K = 3

第一次迭代后

3-> 2-> 1-> 4-> 5-> 6-> 7-> 8-> NULL-反转前三个元素并在第二次迭代中

3-> 2-> 1-> 6-> 5-> 4-> 7-> 8-> NULL
在最后一次迭代中
3-> 2-> 1-> 6-> 5-> 4-> 8-> 7-> NULL

最后llist.head拥有3-> 2-> 1-> 6-> 5-> 4-> 8-> 7-> NULL

10-01 18:38