这是我在刷力扣206题时遇到的问题。
报错的原因很简单,在我反转链表的时候,先定义了一个新的头结点first,把原来的头结点head放在了新的链表的第一个,然后以此遍历原有链表,把每个链表加到新链表头结点first的后面,形成了链表的反转。但是最后忘了吧原有头结点的next属性置空,导致新链表最后一个节点(也是原来的head节点)的next属性依旧是原来链表的第二个元素,形成了环形链表,所以解决方法就是反转完成后记得把原头结点(head)的next属性置空(head.next = null)。
反转单链表的方法在我前面的文章有https://blog.csdn.net/weixin_61724992/article/details/123085609?spm=1001.2014.3001.5501。
本次解决方法参考了https://blog.csdn.net/weixin_47486152/article/details/123900903这篇文章。