LC 15
LeetCode 15 · Medium

3Sum

Return all unique triples that sum to zero.

Two pointers → · Very high frequency · Solve on LeetCode →

Try it

Step through the core mechanic. The simulator below runs the two pointers shape this problem is built on.

Interactive · Two-pointers walkthrough Two Sum II (sorted): find a pair that sums to target.
0
1
L
1
2
2
3
3
5
4
8
5
11
6
14
7
17
8
21
R
start: a[L] + a[R] = 22
step 1 / 4
Why two pointers works. Because the array is sorted, every position pair (L, R) is uniquely determined by its sum's relation to the target. If sum < target, moving L right is the only way to grow the sum without moving R; if sum > target, moving R left is the only way to shrink it. The pointers never need to revisit — that's why it's O(n) instead of the obvious O(n²).

The approach

Sort, then fix each i and run a two-pointer sweep on the remainder for the pair that completes −nums[i]. Skip equal neighbours at all three positions to avoid duplicate triples.

AspectValue
PatternTwo pointers
Recognise it byTriples summing to zero, no duplicate triples.
Time complexityO(n²)
Space complexityO(1)
DifficultyMedium

Who asks it

Companies known to ask this problem, from public LeetCode company-tag aggregations. A signal of where to expect it, not a guarantee.