剑指Offer——和为S的两个数字(JS实现)

0 阅读1分钟

题目描述

解题思路

  • 使用双指针
  • 一个指针指向最左端
  • 一个指针指向最右端
  • 大了最右端的往左移
  • 小了最左端的往右移

实现代码

var twoSum = function (nums, target) {
    let l = 0;
    let r = nums.length-1;
    while (nums[l] + nums[r] !== target) {
        if (nums[l] + nums[r] < target) {
            l++;
        }
        if (nums[l] + nums[r] > target) {
            r--;
        }
    }
    return [nums[l],nums[r]]

};