zoukankan      html  css  js  c++  java
  • 用递归调用来判断字符串是否是回文

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

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

    其主要的代码如下:

    
    

    package com.回文;
    import java.util.Scanner;
    public class HuiWen
    {
    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);
    System.out.println("请输入一个字符串:");
    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函数将其按照字符数组的样式进行应用以及比较。

  • 相关阅读:
    【mongoDB运维篇④】Shard 分片集群
    【Linux高频命令专题(11)】cp
    【Linux高频命令专题(10)】mv
    Nginx + Lua + 共享内存
    ngx_lua模块学习示例之waf
    在 Golang 中使用 Protobuf
    openresty package.path require 报错
    ngx_lua 模块
    Lua中的常用语句结构以及函数
    lua日期与时间操作
  • 原文地址:https://www.cnblogs.com/dazhi151/p/11577695.html
Copyright © 2011-2022 走看看