Two Pointers

🎯What is the Two Pointers Technique?

Imagine you have a line of lockers in a hallway. You and your friend each start at different lockers.
  • One of you starts at the first locker (front).
  • The other starts at the last locker (back).
Now, both of you can walk toward each other, step by step, until you meet in the middle.
That’s the idea of two pointers:
👉 You use two markers (or “pointers”) to move through data (like an array or list) from different directions, instead of just one at a time.

🧩 Why Do We Use Two Pointers?

Because it helps solve problems faster than checking everything one by one.
  • With one pointer, you might need to look at the same things over and over.
  • With two pointers, you often find answers in O(n) time (linear, fast), instead of O(n²) (slower).

 

🏆 Why is it Powerful?

  • It simplifies complex problems.
  • It saves time (fast algorithms).
  • It reduces extra work.
Think of it like teamwork: instead of one person checking everything, two people start from opposite ends and meet in the middle.

⏱️ How Fast is It?

  • Two pointers usually work in O(n) time (linear).
That means if you have 100 items, you’ll look at each one about once, not 100 × 100 times

 

A technique for efficient list traversal and problem-solving by moving two pointers through data from different positions.