代码:
<strong>public void initJava(){
String str="123433353334321";
boolean b=isPalindromeNumber(str,0,str.length()-1,str.length());
Log.d("TAG",str+" 是否是回文:"+b);
}
public boolean isPalindromeNumber(String string,int low,int height,int length){
if(length==1){
return true;
}else{
if(string.charAt(low)==string.charAt(height)){
return isPalindromeNumber(string,low+1,height-1,length-2);
}else{
return false;
}
}
}</strong>
结果:
123433353334321 是否是回文:true
123433353334321065 是否是回文:false
思路:在第一个字母和最后一个字母设置标记 low high,如果str[ low ]==str[ high ],则low+1,high-1,一直比较到low>high,期间如果有不相等的时候,直接退出输出no。