LeetCode 15. 三数之和

15. 三数之和

解题思路

参考代码

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
class Solution {
public List<List<Integer>> threeSum(int[] nums) {
List<List<Integer>> res = new ArrayList<>();
Arrays.sort(nums);
for(int i = 0; i < nums.length; i ++) {
if(i > 0 && nums[i] == nums[i - 1]) {
continue;
}
int left = i + 1, right = nums.length - 1;
while(left < right) {
if(nums[i] + nums[left] + nums[right] == 0) {
res.add(Arrays.asList(nums[i], nums[left], nums[right]));
left ++;
right --;
while(left < right && nums[left] == nums[left - 1]) {
left ++;
}
} else if(nums[i] + nums[left] + nums[right] < 0) {
left ++;
} else right --;
}
}
return res;
}
}

LeetCode 15. 三数之和
https://sowink.cn/2026/02/08/LeetCode-15-三数之和/
作者
Xurx
发布于
2026年2月8日
许可协议