回文递归小测总结

题目:使用递归方式判断某个字串是否是回文( palindrome )

设计思想:判断一段字符串是否是回文,就要判断第一个字符和最后一个字符是否相等,然后再判断第二个和倒数第二个字符是否相等依次类推,所以要用到递归,首先要判断递归结束的条件,然后化大为小,依次比较对应字符是否相等。如果出现不相等的情况,该字符串就不是回文。

package palindrome;

import java.util.Scanner;

public class str {
	public static void  pd(String a,int n)
	{
	     if(a.charAt(a.length()-n)==a.charAt(n-1))
			{
				if(2*n-1-a.length()==0||2*n-1-a.length()==1)
				System.out.println("true"); 
				else  pd(a,n-1);
			}
	     else System.out.println("false"); 
		
	}

	public static void main(String[] args) {
		Scanner in=new Scanner(System.in);
		System.out.println("请输入字符串:");
		String a=in.next();
		int n=a.length();
		pd(a, n);
	}
}

  

 

 

 编程总结分析:在递归的编程中首先要判断出结束语句,例如本题目中在对应字符相等得条件下,要是最后相减得1或者0,该字符串判断完成,可以结束,每次递归n的次数要减1,以缩小判断范围。

posted @ 2019-09-24 17:30  小赵不吃溜溜梅  阅读(185)  评论(0编辑  收藏  举报