方法一:两个指针遍历
用两个指针遍历两个链表,l1遍历phead1链表,l2遍历phead2链表,因为会出现两个链表长度不一的情况,因此在l1遍历phead1链表,同时l2遍历phead2链表后都没有公共节点的情况下,让l1和l2两个指针互换链表进行遍历,这样使两个链表的长度相等,指针的遍历速度也相等,若有公共节点则l1和l2总会在某一刻是相等的。
方法二:set集合
java中特有的set集合可以帮助我们解决此问题,我们只需要将phead1的链表节点都放在set集合中,在遍历phead2链表时,看set集合中是否有当前节点,若有则代表有公共节点。