[转载] 剑指 Offer 57. 和为s的两个数字 对撞指针

题目链接

class Solution {
    // 说一下我自己的理解
    // 数组中的数字都是排好序的,如果左指针和右指针相加大于target,
    // 那么左指针+1,也肯定不满足,这个时候右指针-1,当s比target小的时候,
    // 左指针+1,
    public int[] twoSum(int[] nums, int target) {
        int i = 0, j = nums.length - 1;
        while(i < j) {
            int s = nums[i] + nums[j];
            if(s < target) i++;
            else if(s > target) j--;
            else return new int[] { nums[i], nums[j] };
        }
        return new int[0];
    }
}

// 作者:jyd
// 链接:https://leetcode-cn.com/problems/he-wei-sde-liang-ge-shu-zi-lcof/solution/mian-shi-ti-57-he-wei-s-de-liang-ge-shu-zi-shuang-/
// 来源:力扣(LeetCode)
// 著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
posted @ 2020-10-26 17:19  Bears9  阅读(57)  评论(0编辑  收藏  举报