내용

글번호 158
작성자 heojk
작성일 2017-01-03 12:23:58
제목 코딩시험 shortestPalindrome
내용 public class Palindrome { public static void main(String[] args) { System.out.println(new Palindrome().solution("aaaabaa")); } public int solution(String str) { String result = shortestPalindrome(str); System.out.println(result); return result.length(); } public String shortestPalindrome(String str) { int j = 0; for (int i=str.length()-1; i>=0; i--) { if (str.charAt(i) == str.charAt(j)) { j++; } } if (j == str.length()) { return str; } String suffix = str.substring(j); String prefix = new StringBuilder(suffix).reverse().toString(); String mid = shortestPalindrome(str.substring(0, j)); String ans = prefix + mid + suffix; return ans; } }