1 问题描述
给定一个字符串,如何判断这个字符串是否是回文串?

所谓回文串,是指正读和反读都一样的字符串,如madam、我爱我等。

2 解决方案
解决上述问题,有两种方法可供参考:

(1)从字符串两头往中间扫;

(2)从字符串中间往两头扫。

具体代码如下:

package com.liuzhen.string_1;import java.util.Scanner;public class StringPalindrome {//方法1:两头往中间扫public boolean IsPalindrome1(String A){char[] arrayA = A.toCharArray();int top = 0;int end = arrayA.length-1;if(A.equals("") || A.equals(null))    //非法输入return false;while(top < end){if(arrayA[top++] != arrayA[end--])return false;}return true;}//方法2:中间往两头扫public boolean IsPalindrome2(String A){char[] arrayA = A.toCharArray();int lenA = arrayA.length;int mid = lenA/2;int front;         //前半部分int back;          //后半部分if(lenA % 2 == 0){   //当字符串长度为偶数时front = mid-1;back = mid;}else{front = mid -1;back = mid + 1;}if(A.equals("") || A.equals(null))return false;while(front >= 0 && back < lenA){if(arrayA[front--] != arrayA[back++])return false;}return true;}public static void main(String[] args){StringPalindrome test = new StringPalindrome();Scanner in = new Scanner(System.in);System.out.println("请输入一个字符串:");String A = in.nextLine();if(test.IsPalindrome1(A))System.out.println("使用方法1判断结果为,输入字符串是回文字符串");elseSystem.out.println("使用方法1判断结果为,输入字符串不是回文字符串");if(test.IsPalindrome2(A))System.out.println("使用方法2判断结果为,输入字符串是回文字符串");elseSystem.out.println("使用方法2判断结果为,输入字符串不是回文字符串");}
}

运行结果:

请输入一个字符串:
我爱我
使用方法1判断结果为,输入字符串是回文字符串
使用方法2判断结果为,输入字符串是回文字符串请输入一个字符串:
我爱你
使用方法1判断结果为,输入字符串不是回文字符串
使用方法2判断结果为,输入字符串不是回文字符串请输入一个字符串:
abba
使用方法1判断结果为,输入字符串是回文字符串
使用方法2判断结果为,输入字符串是回文字符串

Java实现回文判断相关推荐

  1. java语言 回文判断_java判断回文字符串的几种方法

    java判断回文字符串几种简单的实现: 1.将字符串倒置后逐一比较,实现如下: public class HuiWenTest { /** * @SERLIN */ public static voi ...

  2. java判断回文用valueof_回文判断 - 平行宇宙 - ITeye博客

    回文 把相同的词汇或句子,在下文中调换位置或颠倒过来,产生首尾回环的情趣,叫做回文,也叫回环. 锦字回文 前秦时期,秦州刺史窦滔因得罪了苻坚的手下大官被流放到流沙县.夫妻天各一方,他的妻子苏蕙特地在一 ...

  3. java栈和队列验证回文串_栈和队列的基本操作及其应用(回文判断)

    实验二栈和队列的基本操作及其应用 一.实验目的 1.掌握栈和队列的顺序存储结构和链式存储结构,以便在实际中灵活应用. 2.掌握栈和队列的特点,即后进先出和先进先出的原则. 3.掌握栈和队列的基本运算, ...

  4. 回文判断 【问题描述】 回文是正读和倒读都一样的句子。读入一个最大长度不超过50个字符的句子,判断其是否是回文。 【输入形式】 输入一个最大长度不超过50个字符的句子 【输出形式】 Yes/No

    回文判断 [问题描述] 回文是正读和倒读都一样的句子.读入一个最大长度不超过50个字符的句子,判断其是否是回文. [输入形式] 输入一个最大长度不超过50个字符的句子 [输出形式] Yes/No [输 ...

  5. 数据结构:使用链栈实现回文判断

    题目: 回文判断 试写一个算法,判断依次读入的一个以@为结束符的字母序列,是否为形如'序列1&序列2'模式的字符序列.其中序列1和序列2中都不含字符'&',且序列2是序列1的逆序列.例 ...

  6. Java实现回文串的四种方式

    Java实现回文串的两种方式 1.什么是回文串? "回文串"是一个正读和反读都一样的字符串,如"level"或者"noon"等就是回文串. ...

  7. 专业课-数据结构(回文判断实验)

    实验内容: 数据结构-用C语言描述(耿国华)P111实习题1 回文判断. 称正读与反读都相同的字符序列为"回文"序列. 试写一个算法,判断依次读入的一个以@为结束符的字母序列,是否 ...

  8. java的回文是什么_Java实现回文判断

    1 问题描述 给定一个字符串,如何判断这个字符串是否是回文串? 所谓回文串,是指正读和反读都一样的字符串,如madam.我爱我等. 2 解决方案 解决上述问题,有两种方法可供参考: (1)从字符串两头 ...

  9. java输出回文数原代码_C++编程入门:判断回文数

    题目描述 回文数是指一个像16461这样"对称"的数,即:将这个数的数字按相反的顺序重新排列后,所得到的数和原来的数一样.输入一个正整数,判断它是否为回文数,如果是回文数则输出&q ...

最新文章

  1. HDLBits 系列(27)孰对孰错 之 Fsm onehot?
  2. zabbix监控利用Python脚本发邮件
  3. String byte[] stream File之间的相互转换
  4. linux usb ga驱动详解,Linux设备驱动之内存映射
  5. java jsf_使用Java和JSF构建一个简单的CRUD应用
  6. OpenShift 4 - 配置OpenShift可使用的外部Image Registry和Mirror Registry
  7. python数据导出excel_【python Excel】如何使用python将大量数据导出到Excel中的小技巧之一...
  8. C++基础:造成多态性的原因是什么?
  9. Java程序设计基础笔记 • 【第1章 初识Java】
  10. Mobile Terminal 316s-7 使用技巧
  11. TCP和UDP的区别与联系
  12. java 生成印章_印章生成
  13. matlab插值与拟合例题_[转载]MATLAB插值与拟合(1)
  14. Rational Rose工具栏中没有参与者工具(小人图标)的解决方法
  15. 我的Java学习笔记(二)飞机大战小游戏
  16. 【磨刀不误砍柴工】(SCH-1217) Could not open “XXschematic“ for edit. Would you like to open it for read?问题。
  17. 自定义函数 | 批量计算微生物群落的alpha多样性
  18. The .NET Core SDK cannot be located.解决方法
  19. Unity 的阴影实现原理
  20. 其他笔记 - Scum和KANBAN

热门文章

  1. (四)eos开发实战dapp+游戏--发币(TKB币)
  2. 接口测试神器,它来了,它带着光环走来了
  3. 32位系统装8g内存条?能用吗
  4. 引入时间轴:动态图模型的共性与特征
  5. python关于luminati国外动态代理的使用
  6. XML及XML的解析方式
  7. 服务器性能参数:QPS、PV、IP
  8. .NET 程序员有家了,微软推出官方技术社区论坛
  9. vulnhub靶场,Monitoring
  10. 15. 【C语言】Hanoi塔问题(Demo)