题目描述:
回文字符串_牛客网
给出一个长度不超过1000的字符串,判断它是不是回文(顺读,逆读均相同)的。
输入描述:
输入包括一行字符串,其长度不超过1000。
输出描述:
可能有多组测试数据,对于每组数据,如果是回文字符串则输出"Yes!”,否则输出"No!"。
输入示例:
hellolleh
helloworld
输出示例:
Yes!
No!
题目分析:
这道题呢,只需要判断字符串是不是回文字符串,那就比较简单啦。采用双指针,一个指向头部,一个指向尾部,然后同时向中间遍历。当头指针指向的字符不等于尾指针指向的字符时,说明该字符串不是回文字符串,然后终止遍历就好啦。具体代码如下~
代码实现:
import java.util.Scanner;
public class Main{
public static void main(String[] args){
Scanner sc=new Scanner(System.in);
while(sc.hasNext()){
String str=sc.nextLine();
int head=0,tail=str.length()-1;
String ret="Yes!";
while(head<tail){
if(str.charAt(head++)!=str.charAt(tail--)){
ret="No!";
break;
}
}
System.out.println(ret);
}
}
}