题目
题目来自 hdu 杭州电子科技大学的一个算法网站…
这里每分钟都有人在提交自己的算法代码…
解题思路:
- 利用双指针从字符串的前后两端向中间逼近,不需要考虑字符串中字符数的奇偶性,因为对回文数来说,奇数个字符的回文串不需要考虑中间的字符,偶数个的回文串更不需要
代码 - java实现
import java.util.Scanner;
public class Main{
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
int size = input.nextInt();
String[] str = new String[size];
for (int i = 0; i < size; i++) {
String s = input.next();
str[i] = s;
}
function(str);
}
public static void function(String[] str){
for (int i = 0; i < str.length; i++) {
int n=0;
int m= str[i].length()-1;
boolean loop=false;
while (n<m){
if(str[i].charAt(n)==str[i].charAt(m)){
loop=true;
n++;
m--;
}else{
loop=false;
break;
}
}
if(loop){
System.out.println("yes");
}else {
System.out.println("no");
}
}
}
}