做了一个算法题,他让两个相邻节点进行互换位置,而且不能使用val交换,只是节点之间的交换。
先声明,这种方法不是我想的,是我看了别人的代码觉得这种方法不错,就学习了一下。
我疑惑啊,为什么要搞一个新节点指向head,为什么不直接用head。
看输出结果就知道这个head就是1234中的1,并不是空节点。此时就需要建一个新节点,(我也不知道为啥,就是好用就对了,有明白人告知在下吗?)。
而且return需要使用p.next却不能是head,这是因为这个题你没有改变head的指向,head还指向1,你交换过后首节点已经不是1,是2了,所以虽然说你用等量代换的思想说p.next = head,为什么能return p.next却不能return head.
就是错的。