package com.interview.flag.o;
/**
* Created_By: stefanie
* Date: 15-1-15
* Time: 上午11:00
*/
public class O11_MinPrefixToPalindrome {
public String getPrefix(String S){
StringBuffer buffer = new StringBuffer();
int end = S.length() - 1;
int tail = end;
int head = 0;
while(tail > head){
while(tail > head && S.charAt(tail) == S.charAt(head)){
tail--;
head++;
}
if(tail <= head) break; //is already a palindrome
while(end >= tail)buffer.append(S.charAt(end--));
tail--;
head = 0;
}
return buffer.toString();
}
public static void main(String[] args){
O11_MinPrefixToPalindrome finder = new O11_MinPrefixToPalindrome();
System.out.println(finder.getPrefix("ababc")); //cb
System.out.println(finder.getPrefix("abacabc")); //cbac
}
}