题目
题目来自 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"); } } } }