/** * @param {number[]} nums1 * @param {number[]} nums2 * @return {number[]} */var intersect = function(nums1, nums2) { // 先对数组 进行排序 nums1.sort((a,b) => {return a-b}) nums2.sort((a,b) => {return a-b}) // console.log(nums1,nums2) // 定义双指针,循环次数小于各自数组的长度 let i = 0,j = 0,newArr = []; while(i < nums1.length && j < nums2.length){ // 如果前者大于后者,j++,继续查找是否有相同的值,反之同理 if(nums1[i] > nums2[j]){ j++; }else if(nums2[j] > nums1[i]){ i++; }else{ //相等,指针都向后移一步 newArr.push(nums1[i]) i++; j++; } } console.log(newArr) return newArr};