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

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

二、大体思路:

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     

运行截图:

 

 

 

 

四、总结:

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

 

转载于:https://www.cnblogs.com/tianwenjing123-456/p/11583879.html

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值