+ Quickly identified core logic and edge cases in palindrome challenge
+ Good initial approach to problem decomposition
- Struggled with optimizing binary tree diameter (initially O(n²))
- Needed guidance to reach optimal solution
function isPalindrome(str) { const cleaned = str.toLowerCase().replace(/[^a-z0-9]/g, ''); return cleaned === cleaned.split('').reverse().join(''); }