递归方法判断回文

(1)  使用递归方式判断某个字串是否是回文( palindrome );

回文”是指正着读、反着读都一样的句子。比如“我是谁是我

使用递归算法检测回文的算法描述如下:

A single or zero-character string is a palindrome.

Any other string is a palindrome if the first and last characters are the same, and the string that remains, excepting those characters, is a palindrome.

 1 package 递归回文;
 2 import java.util.*;
 3 public class Huiwen{
 4     static Scanner  x=new Scanner(System.in);
 5     static char strs[] = new char[1000];
 6     static int j=0;
 7     public static void main(String[] args) {
 8         String s = x.next();//从键盘输入
 9         for(int i=0;i<s.length();i++) {//转化为字符数组
10         strs[j] = s.charAt(i);
11         j++;
12         }
13         boolean huiwen = isHuiwen(strs, 0, j-1,j);
14         System.out.println(huiwen);
15     }
16     public static boolean isHuiwen(char a[],int low,int high,int length){
17         if(length == 1 || length == 0)
18             return true;//字符个数为1,必为回文
19         if (a[low] != a[high] || low >= high) {//第一个字符与最后一个字符比较
20             return false;
21         }
22         return isHuiwen(a, low + 1, high -1,length -2);//递归
23     }
24 }

运行截图:

 

posted @ 2018-10-14 17:58  _小白兔  阅读(3663)  评论(0编辑  收藏  举报