Reverse String (In-Place & Two Pointers)
Language:
Arrays & StringsTime: O(N)Space: O(1) in-place / O(N) copy

Reverse String (In-Place & Two Pointers)

Standard Technical Benchmark Problem: Reverse String (LeetCode 344) & Palindrome Check

Algorithmic Concept & Core Invariant

Reversing an array or string by swapping elements from both ends using two pointers (left and right) moving towards the center, reducing extra memory overhead.

Try Custom Input: Custom String to Reverse

Up to 14 characters

Interactive Trace: Step 1 / 5
[0]
H
▲ Left
[1]
E
-
[2]
L
-
[3]
L
-
[4]
O
▲ Right
State Watch:left=0right=4text=HELLO
ACTIONInitialize left=0 ('H') and right=4 ('O')
JavaScript Reference ImplementationZero third-party dependencies
// From user repository: Arrays/reversString.JS
function reverse(str) {
  if (!str || typeof str !== 'string' || str.length < 2) return str;

  const backwards = [];
  const totalItems = str.length - 1;
  for (let i = totalItems; i >= 0; i--) {
    backwards.push(str[i]);
  }
  return backwards.join('');
}

// In-place Two Pointers implementation
function reverseStringTwoPointers(chars) {
  let left = 0, right = chars.length - 1;
  while (left < right) {
    const temp = chars[left];
    chars[left] = chars[right];
    chars[right] = temp;
    left++;
    right--;
  }
  return chars;
}
Real-World Production Infrastructure Usage

DNA sequence reversal, text protocol parsing, packet payload reversal in network drivers, and palindrome checksum validation.

24 DSA Pattern Visualizers & Code Guides · DataArena