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

一、判断一个字符串是否为回文,用递归的方法实现。

二、大体思路:

1、输入一个字符串;

2、将字符串存到字符数组中再进行前后对应字符的比较;

3、直到满足剩余最后一个或零个字符时,才是回文;

三、源代码:

 1 package org.yuan.Day2;
 2 
 3 import java.util.Scanner;
 4 
 5 public class Palindrome {
 6        
 7         public static void main(String[] args) {
 8             System.out.println("请输入一个字符串:");
 9             Scanner  sc=new Scanner(System.in);
10             String s = sc.next();
11             boolean huiwen = palindrom(s, 0 , s.length() );
12             System.out.println(huiwen);
13             sc.close();
14         }
15         public static boolean palindrom(String s,int i,int length){
16             if(length-2*i == 1 || length-2*i == 0)
17                 return true;//当满足到最后剩余字符个数为1或0时,才为回文
18             if ((s.toCharArray()[i] != s.toCharArray()[length-1-i]) || (i >= length-1-i)) { //将字符串转换成字符数组,比较前后对应字符是否相等
19                 return false;
20             }
21             return palindrom(s, ++i, length);//递归
22         }
23 }
24     

四、总结:

递归就是自己调用自己,重复相同的步骤,但是有限制条件能够来结束这个递归函数。递归可以将复杂的问题分成一个一个小问题,大大的减少代码量。

猜你喜欢

转载自www.cnblogs.com/tianwenjing123-456/p/11583879.html