例1:

方法1:

方法2:
不是val的值,尾插到新链表

例2:

方法:快慢指针
快指针一次走两步,慢指针一次走一步,快指针走到尾时,慢指针恰好在中间

例3:

方法1:
fast先走k-1步,然后slow和fast一起走,直到fast走到尾
方法2:
fast先走k步,然后slow和fast一起走,直到fast走到空

例4:

方法1:将指针翻转

方法2:取节点头插到新链表

例5:

方法:取小的尾插
不带哨兵位的头节点:

带哨兵位的头节点:

例6:

方法:
将小于x的尾插到一个链表
将大于等于x的尾插到另一个链表
再链接起来
用哨兵类的头节点

例7:

方法:
用快慢指针找到中间节点,将后半段逆置,前半段和后半段进行比较

例8:

方法:
分别求两个链表的长度
长的链表先走差距步
同时走,第一个地址相同的就是交点

例9:

方法:快慢指针追及问题

例10:

方法1:
一个指针从相遇点走,一个指针从起始点走,会在入口点相遇

方法2:
相遇点跟相遇点的下一个节点链接断开
找入口点转换成找链表交点

