我正在按照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