两数之和 II - 输入有序数组

文章目录

题目

在这里插入图片描述

分析

双指针法之头尾指针对撞。

代码

class Solution {
    
    
public:
    vector<int> twoSum(vector<int>& numbers, int target) {
    
    
        int left = 0;
        int right = numbers.size() - 1;
        while (left < right) {
    
    
            int tmpSum = numbers[left] + numbers[right];
            if (tmpSum == target) {
    
    
                return {
    
    left + 1, right + 1};
            } else if (tmpSum < target) {
    
    
                ++left;
            } else {
    
    
                --right;
            }
        }
        return {
    
    -1, -1};
    }
};

猜你喜欢

转载自blog.csdn.net/weixin_36389889/article/details/113100381