LeetCode Entry
3517. Smallest Palindromic Rearrangement I
Smallest palindrome rearrangement
3517. Smallest Palindromic Rearrangement I medium substack youtube
https://dmitrysamoylenko.com/leetcode/

Join me on Telegram
https://t.me/leetcode_daily_unstoppable/1434
Problem TLDR
Smallest palindrome rearrangement
Intuition
Take first half and sort it.
Approach
- tip: prepare yourself for the k-th rearrangement
Complexity
-
Time complexity: \(O(n)\)
-
Space complexity: \(O(n)\)
Code
fun smallestPalindrome(s: String) = run {
val h = s.take(s.length/2).map{it}.sorted().joinToString("")
h + (if (s.length%2>0) s[s.length/2] else "") + h.reversed()
}
pub fn smallest_palindrome(s: String) -> String {
let n = s.len(); let h = s[..n/2].chars().sorted();
h.clone().chain(s[n/2..(n+1)/2].chars()).chain(h.rev()).collect()
}
Comments