回文是指正着读,倒着读都一样的字符串。比如:anan、reviver
假如要求对输入的字符串判断是否为回文,我用Java实现的代码:
import java.io.*;
import java.util.*;
public class Solution {
public static void main(String[] args) {
Scanner sc=new Scanner(System.in);
String A=sc.next();
/* Enter your code here. Print output to STDOUT. */
boolean flag = true;
for(int i =0 , j=A.length()-1 ; i<=j ;i++,j--){
if(A.charAt(i)!=A.charAt(j)){
flag = false;
break;
}
}//for end
System.out.println(flag==true?"Yes":"No");
}
}
国外有个人是这么写的:
//前面的省去
System.out.println( A.equals( new StringBuilder(A).reverse().toString()) ? "Yes":"No");
/*这里先把输入的字符串A转换为StringBuilder,然后利用StringBuilder类自带的reverse()函数将字符串序列反转取代,之后再转换回String,和原来的字符串用equals()函数比较是否相等*/
哈哈,于是有网友在下面评论说,你这是作弊。
作者是这样回答的:It does feel like cheating, especially when I see how many lines other solutions contain. With over 4,000 classes in the Java API, the solution you need is bound to be in there somewhere. 就是说Java AP提供了那么多的类,而你要解决的问题的方法一定能在其中找到。哈哈。
再后面的网友的评论都是:this one is really amazing!!! Brilliant
本文介绍了一种使用Java语言判断字符串是否为回文的有效方法。通过两种不同的实现方式,一种是传统迭代比对字符的方式,另一种则是利用StringBuilder的reverse方法简化代码。展示了简洁高效的解决方案,并引发了关于代码优雅性的讨论。
79

被折叠的 条评论
为什么被折叠?



