349. 两个数组的交集 题目链接 一、哈希表 var intersection = function(nums1, nums2) { // 最后的输出结果 let res = [] // 把nums1存到哈希表中 let s = new Set(nums1) // 遍历nums2,判断里面的值是否存在于哈希表中 for(const i of nums2){ if(s.has(i)){ res.push(i) } } // 对res的结果进行去重操作 return [...new Set(res)] }; 2、排序+双指针 var intersection = function(nums1, nums2) { // 1、排序 nums1.sort((x,y) => (x-y)) nums2.sort((x,y) => (x-y)) // 2、双指针检查 let res = [] let index1 = 0, index2 = 0 while(index1 < nums1.length && index2 < nums2.length){ let num1 = nums1[index1], num2 = nums2[index2] if(num1 == num2){ // 避免结果数组重复 if(!res.length || num1 != res[res.length-1]){ res.push(num1) } index1++ index2++ }else if(num1 < num2){ index1++ }else{ index2++ } } return res };