https://jzleetcode.github.io/posts/leet-214-shortest-palindrome/