Implement a function isNormalizedPalindrome(s) that returns true if s reads the same forward and backward after removing non‑alphanumeric characters and case‑folding. Follow‑ups:
(
-
Support full Unicode normalization (e.g., NFKD), diacritics stripping, and locale‑specific case rules.
(
-
Handle a streaming input where s may not fit in memory; optimize for one pass and sublinear extra space.
(
-
Allow at most one character deletion to still count as a palindrome; generalize to up to k deletions.
(
-
Return the index pair of the first mismatch if not a palindrome. Discuss time/space complexity, edge cases, and unit tests.