← Back to Games

✨ Center Expansion Quest

0
0
⬇️
L = -
Expanding...
⬇️
R = -

🏆 Longest Palindrome Found

-
Select a center rune to begin
Spell Power: 0

📜 Expansion Steps

Click on a rune to select it as the center, then click "Expand from Center"

Basic
BABAD
Even
CBBD
Classic
RACECAR
Challenge
ABACDFGDCABA

💡 Center Expansion Algorithm

function longestPalindrome(s) { if (s.length < 2) return s; let start = 0, maxLen = 1; // Try each position as center for (let i = 0; i < s.length; i++) { // Odd length expansion (single center) let [len1, s1] = expandAroundCenter(s, i, i); // Even length expansion (double center) let [len2, s2] = expandAroundCenter(s, i, i + 1); // Update if we found longer palindrome if (len1 > maxLen) { maxLen = len1; start = s1; } if (len2 > maxLen) { maxLen = len2; start = s2; } } return s.substring(start, start + maxLen); } function expandAroundCenter(s, left, right) { // Expand while characters match while (left >= 0 && right < s.length && s[left] === s[right]) { left--; // L-- right++; // R++ } // Return length and start position // After loop: left and right are one past the palindrome let length = right - left - 1; let start = left + 1; return [length, start]; }