第一种做法,将链表放进数组里,然后在数组中间运用双指针从中间向左右开始比较,比较到有不同的这不是
但是第一种做法的空间不是O(1)
所以,第二种做法,上面有道题是反转整个链表,那么这里就可以只反转一半的链表,然后和剩下的一般进行比较,需要注意的是,可能有奇数个节点,可能有偶数个节点,这两种情况是要判断的。如果是奇数个节点,那么中间值在前半部分,这时候是要抛弃的,因为奇数个节点的话中间节点应该属于双方。
代码如下:
我是翻转的前半部分,有些题解我看是翻转的后半部分,而且他们是用了快慢指针,感觉更方便
来源:CSDN
作者:qq_40058686
链接:https://blog.csdn.net/qq_40058686/article/details/104448607