File tree Expand file tree Collapse file tree 1 file changed +39
-0
lines changed
Expand file tree Collapse file tree 1 file changed +39
-0
lines changed Original file line number Diff line number Diff line change 1+ import java .util .ArrayList ;
2+ import java .util .Arrays ;
3+ import java .util .List ;
4+
5+ class Solution {
6+ public List <List <Integer >> threeSum (int [] nums ) {
7+ List <List <Integer >> answer = new ArrayList <>();
8+ Arrays .sort (nums );
9+ int sum = 0 ;
10+
11+ for (int i = 0 ; i < nums .length -2 ; i ++) {
12+ int left = i + 1 ;
13+ int right = nums .length -1 ;
14+ if (i > 0 && nums [i -1 ] == nums [i ]) {
15+ continue ;
16+ }
17+ while (left < right ) {
18+ sum = nums [i ] + nums [left ] + nums [right ];
19+ if (sum > 0 ) {
20+ right --;
21+ } else if (sum < 0 ) {
22+ left ++;
23+ } else {
24+ answer .add (Arrays .asList (nums [i ], nums [left ], nums [right ]));
25+ while (left < right && nums [left ] == nums [left + 1 ]) {
26+ left ++;
27+ }
28+ while (left < right && nums [right ] == nums [right - 1 ]) {
29+ right --;
30+ }
31+ left ++;
32+ right --;
33+ }
34+ }
35+
36+ }
37+ return answer ;
38+ }
39+ }
You can’t perform that action at this time.
0 commit comments