160. 相交链表

一.利用哈希集合

先将其中一个链表添加到HashSet中,

再利用contains方法查询是否有相同的结点,如果有,说明相交,没有,就证明平行

缺点就是慢

public static ListNode getIntersectionNode(ListNode headA, ListNode headB) {
		 HashSet<ListNode> setAb = new HashSet<ListNode>();
		 ListNode temp = headA;
		 while(temp != null) {
			 setAb.add(temp);
			 temp = temp.next;
		 }
		 temp = headB;
		 while(temp != null) {
			 if(setAb.contains(temp)) {
				 return temp;
				 
			 }else {
				 temp = temp.next;
			 }
		 }
		 System.out.println("a");
		 return null;
    }

二.利用双指针  链表的特性

详见  

教你用浪漫的方式找到两个单链表相交的起始节点 - 相交链表 - 力扣(LeetCode&#

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值