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

回文序列判断

时间:2019-09-24 17:31:53      阅读:92      评论:0      收藏:0      [点我收藏+]

标签:scanner   ati   ring   方法   说明   提取   截图   boolean   文字   

 一、设计思路

本来在课堂上我并未成功用递归的方法完成该题判断,看了同学的程序后,我有了自己的思考:

1)递归是运用到了栈的思想;

2)回文是一段从中间开始倒置的文字,回代的过程中出现不同的符号的时候就说明这段文字不是回文了

根据上面对回文判断的分析,就拿最简单的121来说,要每个字符判断直至2所在的位置,然后依次回代判断前面的1和后面的1的位置。

二、源代码

 1 import java.util.Scanner;
 2 
 3 public class palindrome {
 4     public static void main(String arg[]) {
 5         String sz = new String();
 6         Scanner sc = new Scanner(System.in);
 7         System.out.println("请输入一个字符串:");
 8         if (sc.hasNext()) {
 9             sz = sc.next();
10             if (ispalindrome(sz, 0))
11                 System.out.println("是回文");
12             else
13                 System.out.println("不是回文");
14         }
15     }
16 
17     public static boolean ispalindrome(String s, int n) {
18         int num = s.length();
19         if (num / 2 != n) {
20             if (ispalindrome(s, n + 1)) {
21                 if (s.charAt(n) == s.charAt(num - n - 1))
22                     return true;
23                 else
24                     return false;
25             }
26         } else if (s.charAt(n) == s.charAt(num - n - 1))
27             return true;
28         return false;
29     }
30 }

三、运行截图

技术图片

 

 技术图片

 

 技术图片

四、递归总结

1、每个递归函数的开头一定是判断递归结束条件是否满足的语句

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

3、递归函数的函数体至少有一句是自己调用自己。

回文序列判断

标签:scanner   ati   ring   方法   说明   提取   截图   boolean   文字   

原文地址:https://www.cnblogs.com/best-hym/p/11579347.html

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