zoukankan      html  css  js  c++  java
  • 用递归判断回文序列

    判断回文序列

    一,题目:判断输入的字符串是否为回文系列。

    二,设计思路:

    1,初始判断若字符串的长度为0或1,一定是回文序列直接返回退出。

    2,写终止条件,如果最后剩余一个,则是回文序列返回退出。如果是两个,判断他俩是否相等若相等则f为1否则f为0,返回退出。

    3,写一般情况,若收尾相等则n加1,调用自身,如果中途比较前后不等则f为0,返回退出。

    三,源代码:

    import java.util.Scanner;
    
    public class Huiwen {
        static char []a=new char[1000];
        static String str;
        static int f=0;
        static int n=0;
        static Scanner sc=new Scanner(System.in);
        public static void main(String[] args) {
            str=sc.nextLine();
            a=str.toCharArray();
            huiWen(a,n);
            if(f==0) {
                System.out.println(str+" : "+"不是回文序列");
            }
            else {
                System.out.println(str+" : "+"是回文序列");
            }
        }
        public static void huiWen(char[] a,int n) {
            if(a.length==1||a.length==0) {
                f=1;
                return ;
            }
            if(a.length-2*n-1==1) {
                f=1;
                return ;
            }
            if(a.length-2*n-1==2) {
                if(a[n]==a[a.length-n-1]) {
                    f=1;
                    return ;
                }
                else {
                    f=0;
                    return ;
                }
            }
            
            if(a[n]==a[a.length-n-1]) {
                n=n+1;
                huiWen(a,n);
                
            }
            else {
                f=0;
                return ;
            }
            
        }
    
    }

    四,测试结果

     

     

     五,结论:

    递归三要素:

    1,明确终止条件,给出递归结束是的处理办法。

    2,提取问题结果,减小问题规模。

    3,调用自身。

  • 相关阅读:
    基本概念和术语
    Html中的<label>标签
    shell17echo打印带颜色的文字
    shell-15 &的三种不同
    shell-14 多个命令以分号隔开
    shell-13 tee管道可以重定向但是不截流
    shell-12实用cat完成文件复制
    shell-11输入内容到文件
    shell-10kill杀死作业号和进程号
    shell-9前后台切换
  • 原文地址:https://www.cnblogs.com/20183544-wangzhengshuai/p/11574173.html
Copyright © 2011-2022 走看看