Valid Palindrome Visualization & Animation

Verifies a string reads the same forwards and backwards using the two-pointer technique.

## What is it? A palindrome string reads the same forwards and backwards. This visualization covers how to check whether a given string is a palindrome using the two-pointer technique. ## How it works - Place `left = 0`, `right = n-1` - Compare `str[left]` and `str[right]` - If they are not equal → not a palindrome, return false - Advance `left++` and `right--` - If pointers cross without a mismatch → it is a palindrome, return true **Alternative:** Reverse the string and compare with the original — equal means palindrome. ## When to use - Validating user input - Pre-check before applying expansion-based palindrome algorithms - As a sub-step in "Longest Palindromic Substring" or similar problems ## Key Points - Two-pointer: O(n) time, O(1) space — optimal - Reversal approach: O(n) time, O(n) space - Odd-length strings have a middle character that is always "equal" to itself

Category: algorithms

Difficulty: beginner

Time Complexity: O(n)

Space Complexity: O(1)

Valid Palindrome

beginner

Verifies a string reads the same forwards and backwards using the two-pointer technique.

PhaseInit
Compares0
L0
R6
L
R
r
[0]
a
[1]
c
[2]
e
[3]
c
[4]
a
[5]
r
[6]
Unscanned character
L or R pointer position
Confirmed matching pair
Mismatch
Input: "racecar" (lowercased). Set L=0 and R=6. Pointers will march inward comparing characters.