文章目录
- 题目介绍
- 解法
题目介绍
解法
利用相向双指针,初始时l在最用左边,r在最右边
1.numbers[l] + numbers[r] < target 则 l++
2.numbers[l] + numbers[r] < target 则 r++
3.numbers[l] + numbers[r] == target 说明找到了答案
class Solution {public int[] twoSum(int[] numbers, int target) {int l = 0, r = numbers.length -1;while(l < r){if(numbers[l] + numbers[r] == target){break;}else if(numbers[l] + numbers[r] < target){l++;}else{r--;}}return new int[]{l + 1,r + 1};}
}