判断某个字符串是否为回文
时间2019年9月23日下午
这个题有很多种写法,其一是用String来存这个字符串,然后调用charAt函数进行字符串的遍历,从两头开始遍历是否相等
其二是用toCharArray函数将String字符串转为char类型的数组直接用下标遍历。
我就是用的第二种
时间花费大概10+分钟
在几种方法中徘徊
源代码如下:
package shangke.disanzhou; import java.util.Scanner; public class ketangceshi01 { static int flag=1; static int n,m=0; public int digui(char[] sss) { if(n==m||n-1==m) { return 0; } if(sss[n-1]!=sss[m]) { flag=0; } n--; m++; return digui(sss); } public static void main(String[] args) { String sss; ketangceshi01 sta=new ketangceshi01(); Scanner shuru=new Scanner(System.in); sss=shuru.nextLine();
//将String转化为char数组 char[] str=sss.toCharArray(); n=str.length; sta.digui(str); if(ketangceshi01.flag==1) { System.out.println("ture"); } else { System.out.println("false"); } } }
这个题目是练习递归调用的,递归调用一定要设好结束条件、递归参数。
我这个就是用静态的m、n来做计数器慢慢遍历整个数组,然后通过判断条件结束递归。