Java实现回文判断
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实现回文判断相关推荐
- java语言 回文判断_java判断回文字符串的几种方法
java判断回文字符串几种简单的实现: 1.将字符串倒置后逐一比较,实现如下: public class HuiWenTest { /** * @SERLIN */ public static voi ...
- java判断回文用valueof_回文判断 - 平行宇宙 - ITeye博客
回文 把相同的词汇或句子,在下文中调换位置或颠倒过来,产生首尾回环的情趣,叫做回文,也叫回环. 锦字回文 前秦时期,秦州刺史窦滔因得罪了苻坚的手下大官被流放到流沙县.夫妻天各一方,他的妻子苏蕙特地在一 ...
- java栈和队列验证回文串_栈和队列的基本操作及其应用(回文判断)
实验二栈和队列的基本操作及其应用 一.实验目的 1.掌握栈和队列的顺序存储结构和链式存储结构,以便在实际中灵活应用. 2.掌握栈和队列的特点,即后进先出和先进先出的原则. 3.掌握栈和队列的基本运算, ...
- 回文判断 【问题描述】 回文是正读和倒读都一样的句子。读入一个最大长度不超过50个字符的句子,判断其是否是回文。 【输入形式】 输入一个最大长度不超过50个字符的句子 【输出形式】 Yes/No
回文判断 [问题描述] 回文是正读和倒读都一样的句子.读入一个最大长度不超过50个字符的句子,判断其是否是回文. [输入形式] 输入一个最大长度不超过50个字符的句子 [输出形式] Yes/No [输 ...
- 数据结构:使用链栈实现回文判断
题目: 回文判断 试写一个算法,判断依次读入的一个以@为结束符的字母序列,是否为形如'序列1&序列2'模式的字符序列.其中序列1和序列2中都不含字符'&',且序列2是序列1的逆序列.例 ...
- Java实现回文串的四种方式
Java实现回文串的两种方式 1.什么是回文串? "回文串"是一个正读和反读都一样的字符串,如"level"或者"noon"等就是回文串. ...
- 专业课-数据结构(回文判断实验)
实验内容: 数据结构-用C语言描述(耿国华)P111实习题1 回文判断. 称正读与反读都相同的字符序列为"回文"序列. 试写一个算法,判断依次读入的一个以@为结束符的字母序列,是否 ...
- java的回文是什么_Java实现回文判断
1 问题描述 给定一个字符串,如何判断这个字符串是否是回文串? 所谓回文串,是指正读和反读都一样的字符串,如madam.我爱我等. 2 解决方案 解决上述问题,有两种方法可供参考: (1)从字符串两头 ...
- java输出回文数原代码_C++编程入门:判断回文数
题目描述 回文数是指一个像16461这样"对称"的数,即:将这个数的数字按相反的顺序重新排列后,所得到的数和原来的数一样.输入一个正整数,判断它是否为回文数,如果是回文数则输出&q ...
最新文章
- HDLBits 系列(27)孰对孰错 之 Fsm onehot?
- zabbix监控利用Python脚本发邮件
- String byte[] stream File之间的相互转换
- linux usb ga驱动详解,Linux设备驱动之内存映射
- java jsf_使用Java和JSF构建一个简单的CRUD应用
- OpenShift 4 - 配置OpenShift可使用的外部Image Registry和Mirror Registry
- python数据导出excel_【python Excel】如何使用python将大量数据导出到Excel中的小技巧之一...
- C++基础:造成多态性的原因是什么?
- Java程序设计基础笔记 • 【第1章 初识Java】
- Mobile Terminal 316s-7 使用技巧
- TCP和UDP的区别与联系
- java 生成印章_印章生成
- matlab插值与拟合例题_[转载]MATLAB插值与拟合(1)
- Rational Rose工具栏中没有参与者工具(小人图标)的解决方法
- 我的Java学习笔记(二)飞机大战小游戏
- 【磨刀不误砍柴工】(SCH-1217) Could not open “XXschematic“ for edit. Would you like to open it for read?问题。
- 自定义函数 | 批量计算微生物群落的alpha多样性
- The .NET Core SDK cannot be located.解决方法
- Unity 的阴影实现原理
- 其他笔记 - Scum和KANBAN