1、判断一个字符串是否为回文,用递归的方法实现。java
2、大致思路:数组
一、输入一个字符串;函数
二、将字符串存到字符数组中再进行先后对应字符的比较;ui
三、直到知足剩余最后一个或零个字符时,才是回文;spa
3、源代码:code
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
运行截图:blog
4、总结:递归
递归就是本身调用本身,重复相同的步骤,可是有限制条件可以来结束这个递归函数。递归能够将复杂的问题分红一个一个小问题,大大的减小代码量。字符串