两个数组的交集 II

sort两个数组,然后依次对比头节点,如果相等,就放入result,如果不等于将小节点出队

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
/**
* @param {number[]} nums1
* @param {number[]} nums2
* @return {number[]}
*/
var intersect = function (nums1, nums2) {
nums1.sort((a, b) => a - b);
nums2.sort((a, b) => a - b);
let result = [];
while (nums1.length && nums2.length) {
if (nums1[0] === nums2[0]) {
result.push(nums1[0]);
nums1.shift();
nums2.shift();
} else if (nums1[0] < nums2[0]) {
nums1.shift();
} else {
nums2.shift();
}
}
return result;
};
// console.log(intersect([1, 2, 2, 1], [2, 2]));
// console.log(intersect([4, 9, 5], [9, 4, 9, 8, 4]));

本站由 ao 使用 Stellar 1.29.1 主题创建。
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议,转载请注明出处。