之前已经对链表相关常用操作进行了总结。在这里,对 LeetCode 与链表相关的题目解答思路进行总结。
1. 两个链表,求是否有相交的节点并返回
方案一:将两个链表的各节点依次存入两个对象中,然后双层循环查找是否存在有相同的节点;
方案二:先求出两个链表各自长度,将长链表先向尾部移动至和短链表同样长度的位置,然后遍历两个链表至找到相同的节点,否则返回 null;
2. 链表求环
方案一:将链表各节点存入对象中,插入对象前先查找节点是否已存在?直至待插入的节点在对象中已存在,此时节点即为待求节点。
方案二:快慢指针赛跑法
3. 根据某 val,将链表划分成两部分
方案一:利用临时头结点,将链表两部分分别存入两个临时链表中,再将其连接。
原文:https://www.cnblogs.com/mykiya/p/10970694.html