JAVA课堂题目--递归来判断回数
package class20190923; import java.util.Scanner; public class Classtext { private static int n=0; private static String str1,str2; public static void main(String[] args) { String str1,str2; Scanner sc = new Scanner(System.in); str1=sc.nextLine(); if(str1.length()==1||str1.length()==0) System.out.println("yes"); else { pd1(str1,n); } } public static void pd1(String str,int x) { n=x; if(n==(str.length()/2)||n==((str.length()+1)/2)) { System.out.println("yes"); return ; } else if(str.charAt(n)==str.charAt(str.length()-n-1)) { pd1(str,n+1); } else if(str.charAt(n)!=str.charAt(str.length()-n-1)) { System.out.println("no"); return ;} } }
运行结果
设计思路:
利用递归,首先判断运行次数,如果运行了相应次数,则说明是回数,输出yes并返回空,如果在未达到次数时,遇到相对应的位置不相等的情况,则说明不是回数,输出no并返回空。