0.回文字符串:字符串两端对称相等,如abccba为回文字符串。
1.判断情况
1)回文:字符串长度小于1或两端对应相等
2)不是回文:两端的字符不相等
2.实现程序:
1)我的代码块:另外在函数调用时要判断字符串长度是否小于1
public static void isPalindrome(String s,int n){ if(n<s.length()-n){ //是否到达中间字符 if(s.charAt(n)!=s.charAt(s.length()-n-1)) System.out.println("不是回文"); else isPalindrome(s,++n); }else System.out.println("回文"); }
2)简便的写法:利用布尔型返回,true为回文;从两端开始向中间靠拢比较,只要比较过程中发现不同则返回false,当n大于等于s.length()-n时比较完毕。
public static boolean isPalindrome(String s,int n){ if(s.length()<=1||n>=s.length()-n) return true;//回文 else if(s.charAt(n)!=s.charAt(s.length()-n-1)) return false; else return isPalindrome(s,++n); }