链表
怎么判断一个链表是环形,6或9形状呢,怎么判断
二个链表合成一个链表,时间和空间复杂度
方法一:哈希表法
这里我们采用set这一关联容器。设置set的下标为ListNode*,遍历该链表的每一个结点,
将未出现过的链表结点存储至set中,会出现两种情况:
发现指向某一结点的指针已经存储过了,就说明这个链表是环形的。
发现指向某一结点的指针是NULL,则说明这条链表有尾巴,不是环形的。
方法二:快慢指针法
我们可以思考一个问题:两位运动员在环形跑道上什么情况下会相遇?
是当他们速度一致吗?显然不是,应该是当他们有速度差的时候,快的会逐渐追上慢的。
在这里我们只是将运动员换成了指针,将赛道换成了环形链表。
将两个无序链表合成一个链表
对于链表,可以先将两个链表排序,然后再将其枚举合成一个链表。
或者是先将一个链表接到另一个链表的尾部,然后将总链表排序。
参考资料:https://blog.csdn.net/qq_29997037/article/details/104555020
https://www.cnblogs.com/zllwxm123/p/7522279.html