@@ -0,0 +1,1622 @@
+public class Solution %7B%0A    /**%0A     * @param str: String%0A     * @return: String%0A     */%0A    public String convertPalindrome(String str) %7B%0A%0A        int j = 0;%0A        // %E6%89%BE%E5%88%B0%E7%AC%AC%E4%B8%80%E4%B8%AA%E4%BD%BF%E4%BB%96%E4%B8%8D%E5%9B%9E%E6%96%87%E7%9A%84%E4%BD%8D%E7%BD%AE%0A        for (int i = str.length() - 1; i %3E= 0; i--) %7B%0A           if (str.charAt(i) == str.charAt(j)) %7B %0A               j += 1; %0A           %7D%0A        %7D%0A%0A        if (j == str.length()) %7B  //%E6%9C%AC%E8%BA%AB%E6%98%AF%E5%9B%9E%E6%96%87%0A            return str; %0A        %7D%0A%0A        // %E5%90%8E%E7%BC%80%E4%B8%8D%E8%83%BD%E5%A4%9F%E5%8C%B9%E9%85%8D%E7%9A%84%E5%AD%97%E7%AC%A6%E4%B8%B2%0A        String suffix = str.substring(j);%0A        // %E5%89%8D%E9%9D%A2%E8%A1%A5%E5%85%85prefix%E8%AE%A9%E4%BB%96%E5%92%8Csuffix%E5%9B%9E%E6%96%87%E5%8C%B9%E9%85%8D%0A        String prefix = new StringBuilder(suffix).reverse().toString(); %0A        // %E9%80%92%E5%BD%92%E8%B0%83%E7%94%A8%E6%89%BE %5B0, j%5D%E8%A6%81%E6%9C%80%E5%B0%91%E5%8F%AF%E4%BB%A5%E8%A1%A5%E5%85%85%E5%A4%9A%E5%B0%91%E4%B8%AA%E5%AD%97%E7%AC%A6%E8%AE%A9%E4%BB%96%E5%9B%9E%E6%96%87%0A        String mid = convertPalindrome(str.substring(0, j)); %0A%0A        String ans = prefix + mid  + suffix;%0A%0A        return  ans;%0A%0A    %7D%0A    %0A    // 91%25 Memory Limit Exceeded%0A    // public String convertPalindrome(String str) %7B%0A    //     // Write your code here%0A        %0A    //     if (isPalindrome(str)) %7B%0A    //         return str;%0A    //     %7D%0A        %0A    //     StringBuilder start = new StringBuilder();%0A    //     for (int i = str.length() - 1; i %3E= 0; i--) %7B%0A    //         start.append(str.charAt(i));%0A            %0A    //         if(isPalindrome(start.toString() + str)) %7B%0A    //             break;%0A    //         %7D%0A    //     %7D%0A        %0A    //     return start.append(str).toString();%0A    // %7D%0A    %0A    // public boolean isPalindrome(String str) %7B%0A        %0A    //     for (int i = 0, j = str.length() - 1; i %3C j; i++, j--) %7B%0A    //         if (str.charAt(i) != str.charAt(j)) %7B%0A    //             return false;%0A    //         %7D%0A    //     %7D%0A        %0A    //     return true;%0A    // %7D%0A%7D

add 678