题目链接:https://leetcode-cn.com/problems/two-sum-ii-input-array-is-sorted/
代码:
class Solution { public int[] twoSum(int[] numbers, int target) { int i = 0; int j = numbers.length - 1; while(i < j) { if(numbers[i] + numbers[j] == target) { return new int[] {i+1, j+1}; }else if(numbers[i] + numbers[j] > target) { j--; }else if(numbers[i] + numbers[j] < target) { i++; } } return null; } }
题解:使用两个变量i,j,i指向数组的第一个元素,j指向数组的最后一个元素,如果两个变量所值的数之和等于目标数,那么返回这两个变量,
如果两数之和大于目标数,那么把j--,如果两数之和大于目标数,那么i++.