思路
用map保存第一个数组的元素,然后遍历第二个数组,如果已经在map中存在,就添加到结果集
code
func intersection(nums1 []int, nums2 []int) []int {
m := make(map[int]bool)
for _, v := range nums1 {
m[v] = true
}
ret := []int{}
for _, v := range nums2 {
if val, ok := m[v]; val && ok {
ret = append(ret, v)
m[v] = false
}
}
return ret
}
更多内容请移步我的repo:https://github.com/anakin/golang-leetcode