码迷,mamicode.com
首页 > 其他好文 > 详细

用递归调用来判断字符串是否是回文

时间:2019-09-24 13:39:53      阅读:56      评论:0      收藏:0      [点我收藏+]

标签:scanner   ann   public   函数   length   输出   next   样式   代码   

思路:先判断字符串的长度,当为1时就是回文的字符串,之后如果大于1,就调用函数进行判断。通过返回值对其是否是回文进行输出。

在函数中主要是传入字符串数组还有两个参数,经两个参数作为下标,通过字符串的CharAt函数对字符串的相应部分进行比较,最后进行两个参数,前面的加一后面的减1,逐渐向中间靠拢。依次进行比较、当只剩下一个或者两个时对其进行另外的分析。

其主要的代码如下:

package chengZhang;
import java.util.Scanner;
public class JieCheng 
{
    public static int diaoyong(String c,int a,int b)
    {
        if(a==b)//当时奇数时候
            return 1;
        if(a+1==b)//当是偶数时候并且只有两个了
        {
            if(c.charAt(a)==c.charAt(b))//进行两边 的比较
                return 1;
            else
                return -1;
        }
        else
        {
            if(c.charAt(a)==c.charAt(b))
            {
                a+=1;
                b-=1;
                return diaoyong(c,a,b);//递归调用
            }
            else
                return -1;
        }
            
    }

    public static void main(String[] args) 
    {
        Scanner sc=new Scanner(System.in);
        String wen=sc.nextLine();

            int w1=wen.length()-1;
            if(w1==0)//只有一个字符时
                System.out.println("是回文");
            else
            {
                if(diaoyong(wen,0,w1)==1)
                    System.out.println("是回文");
                else if(diaoyong(wen,0,w1)==-1)
                    System.out.println("不是回文");
            }
    }

}

重要的是递归调用,其函数要调用自己本身。最后重要的一点是应用字符串的CharAt函数将其按照字符数组的样式进行应用以及比较。

用递归调用来判断字符串是否是回文

标签:scanner   ann   public   函数   length   输出   next   样式   代码   

原文地址:https://www.cnblogs.com/dazhi151/p/11577695.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!