class CodeChef{
static boolean pali(StringBuilder temp1){
StringBuilder temp=new StringBuilder(temp1);
StringBuilder sb=new StringBuilder(temp1);
//System.out.println(sb.charAt(2));
if((sb.reverse()).compareTo(temp)==0){
return true;
}
else{
return false;
}
}
static void sol(StringBuilder sb){
int l=0, counter=0;
int ar[]= new int[sb.length()];
if(pali(sb)){
System.out.println("YES"+"\n"+l);
return;
}
for(int i=0;i<sb.length()-1;i++){
// System.out.println("\n------------\n--> old string "+sb);
if(sb.charAt(i) == sb.charAt(sb.length()-1-i)){
continue;
}
else{
// System.out.println("ense");
if(sb.charAt(i+1) == sb.charAt(sb.length()-1-i) && (ar[i] == 0) && (ar[i+1] == 0)){
// System.out.println("else 1");
ar[i]=ar[i+1]=1;
char c1=sb.charAt(i);
char c2=sb.charAt(i+1);
sb.setCharAt(i+1, c1);
sb.setCharAt(i, c2);
l++;
// sb.setCharAt(i+1, sb.charAt(i));
// sb.setCharAt(i, sb.charAt(i+1));
}
else if(sb.charAt(i) == sb.charAt(sb.length()-2-i) && (ar[sb.length()-1-i] == 0) && (ar[sb.length()-2-i] == 0)){
ar[sb.length()-2-i]=ar[sb.length()-1-i]=1;
l++;
// System.out.println("else 2");
char c1=sb.charAt(sb.length()-1-i);
char c2=sb.charAt(sb.length()-2-i);
sb.setCharAt(sb.length()-1-i, c2);
sb.setCharAt(sb.length()-2-i, c1);
}
else{
System.out.println("NO");
return;
}
}
if(pali(sb)){
counter=1;
break;
}
}
if(counter == 1){
System.out.println("YES"+"\n"+l);
return;
// System.out.println("--> new string "+sb);
}
}
// static void sol(StringBuilder sb){
// for(int i=0;i<sb.length()-1;i++){
// char c1, c2;
// System.out.println("\n------------\nold string "+sb);
// c1=sb.charAt(i);
// c2=sb.charAt(i+1);
// sb.setCharAt(i+1, c1);
// sb.setCharAt(i, c2);
// i++;
// System.out.println("new string "+sb);
// if(pali(sb)){
// System.out.println();
// }
// System.out.println("new string "+sb);
// }
// }
public static void main(String[] args) {
Scanner in= new Scanner(System.in);
int test=in.nextInt();
while(test-- >0){
int n=in.nextInt();
in.nextLine();
StringBuilder sb= new StringBuilder(in.nextLine());
// System.out.println(sb);
// System.out.println(pali(sb));
sol(sb);
}
}
}
Here is the code which I have written. The code is working fine on my laptop but is giving an error in the IDE of codechef. The error is
Main.java:7: error: cannot find symbol
if((sb.reverse()).compareTo(temp)==0){
^
symbol: method compareTo(StringBuilder)
location: class StringBuilder
1 error
Please help