递归判断字符串是否为回文

Posted fengjingfei

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了递归判断字符串是否为回文相关的知识,希望对你有一定的参考价值。

package text;    
import java.util.Scanner;
  public class lianxi
       public static void main( String args[] )
       
          Scanner input=new Scanner(System.in);
          System.out.print("请输入字符串:");         
          String str="";
          str=input.nextLine();
          System.out.println(huiwen(str));     
                  
        public static boolean huiwen(String str) 
          int n=str.length();
          char f=str.charAt(0);
          char l=str.charAt(n-1);
          if(f!=l) return false;
else if(n==1||f==l) return true;
return huiwen(str.substring(1,n-1));
运行结果:
技术图片 技术图片 技术图片 技术图片

    递归是一种算法,被广泛应用在程序中。递归是指函数、过程或子程序在运行过程中,直接或间接调用自身而产生的重入现象。递归是计算机科学中的一个重要概念,递归的方法是程序设计中有效的方法,采用递归编写程序能使程序变得简洁和清晰。

    所以在判断字符串中的字符是否相同时,除了只有一个字符这种特殊情况,无论字符串的长度是多少,都可以使用一种方法,就是将第一个字符与最后一个字符比较,之后重复调用未判断字符串中的第一个字符和最后一个字符,再进行比较。结束的情况就是判断出来俩字符相等或不等,所以不会进入调用的死循环。选择布尔类型的函数,就是为了保证不重复输出每一次判断的结果。

    这种方法不仅使运行结果很简单,还使代码很简洁。

 

以上是关于递归判断字符串是否为回文的主要内容,如果未能解决你的问题,请参考以下文章

递归判断字符串是否为回文

递归判断字符串是否为回文

C语言:编写一个测试一个串是不是为回文的递归函数,是回文,返回1;不是,返回0。

Java 用递归判断字符串是否可以回文

用递归的方法实现判断回文字符c语言

递归方式判断某个字串是否是回文