1. 题目
2. 思路(双指针)
- 设置两个指针p1、p2,分别指向nums1、nums2的第一个元素
- 遍历两个数组,判断p1、p2位置上的元素是否相等,相等则直接返回(因为数组已经排好序了);如果nums1上的元素更大,那就将p2右移;如果nums2上的元素更大,那就将p1右移。
- 如果最后也没有找到相同的元素,那就返回-1
3. 代码实现
/**
* @param {number[]} nums1
* @param {number[]} nums2
* @return {number}
*/
var getCommon = function(nums1, nums2) {
let p1 = 0, p2 = 0
while(p1 < nums1.length) {
if (nums1[p1] === nums2[p2]) {
return nums1[p1]
} else if (nums1[p1] > nums2[p2]) {
p2++
} else {
p1++
}
}
return -1
};