29 lines
396 B
Go
29 lines
396 B
Go
|
|
package main
|
||
|
|
|
||
|
|
type ListNode struct {
|
||
|
|
Val int
|
||
|
|
Next *ListNode
|
||
|
|
}
|
||
|
|
|
||
|
|
func main() {
|
||
|
|
|
||
|
|
}
|
||
|
|
func getIntersectionNode(headA, headB *ListNode) *ListNode {
|
||
|
|
Anode, Bnode := headA, headB
|
||
|
|
hash := make(map[*ListNode]struct{})
|
||
|
|
|
||
|
|
for Anode != nil {
|
||
|
|
hash[Anode] = struct{}{}
|
||
|
|
Anode = Anode.Next
|
||
|
|
}
|
||
|
|
for Bnode != nil {
|
||
|
|
if _, ok := hash[Bnode]; ok {
|
||
|
|
return Bnode
|
||
|
|
}
|
||
|
|
Bnode = Bnode.Next
|
||
|
|
}
|
||
|
|
|
||
|
|
return nil
|
||
|
|
|
||
|
|
}
|