思路和上篇二分法文章相同。
因为数组是排序好的,将头尾值相加,若结果大于目标值,将尾节点前置一位(和数减小),若小于目标值,将前节点后置一位(和数增大)
public int[] twoSum(int[] nums, int target) {
int i = 0;
int j = nums.length - 1;
while (i <= j) {
int sum = nums[i] + nums[j];
if (sum == target) {
return new int[] {nums[i], nums[j]};
} else if (sum > target) {
j--;
} else {
i++;
}
}
return null;
}