# Approach: two pointers from opposite ends; skip non-alphanumerics; compare lowercased. # Invariant: at top of loop, the cleaned chars in [0, left) mirror those in (right, n). # Why O(n): each char ...
// Approach: two pointers from opposite ends; skip non-alphanumerics; compare lowercased. // Invariant: at top of loop, the cleaned chars in [0, left) mirror those in (right, n). // Why O(n): each ...