1、题目
2、题解
题目较为简单,关键在于想到相交的节点对应的指针值一致,可以用“==”进行比较,所以直接对一个链表进行遍历,构建一个以指针值作为键的哈希表,之后对另一个链表进行遍历,查找节点是否存储于哈希表,若在哈希表中,则该节点就是交点,实现代码如下
/**
* Definition for singly-linked list.
* type ListNode struct {
* Val int
* Next *ListNode
* }
*/
func getIntersectionNode(headA, headB *ListNode) *ListNode {
var res *ListNode
var dict map[*ListNode]bool = make(map[*ListNode]bool)
for t:=headA; t!=nil; t=t.Next{
dict[t]=true
}
for t:=headB; t!=nil; t=t.Next{
if dict[t]{
res = t
break
}
}
return res
}