栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

java解决回文数

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

java解决回文数

说明:

回文数就是一种正序与倒叙度相同的数字,如121,正序是121,倒叙也是121。

这里介绍两种解法:
一种是不转成字符串的解法,另一种就是转成字符穿的解法。

  1. 不转成字符串的解法:
public boolean Palindrome(Integer num) {
		int x =0 ;
		int y = num;
		int o = 0;
		while(num>0) {
			x = num % 10;
			o = o*10 +x;
			num = num /10;
			//num = (int)Math.floor(num/10);
		}
		return y==o;
	}
  1. 转成字符数组的解法:
    在进行转字符数组操作之前,我们可以先分析一下字符数组的构造,让我们的计算的时间缩减。

字符数组 [‘1’,‘2’,‘3’,‘2’,‘1’] 与 [‘1’,‘2’,‘3’,‘3’,‘2’,‘1’]
可以发现字符数组 [‘1’,‘2’,‘3’,‘2’,‘1’] ,我们只需要比较后面两个和前面两个数组就可以知道,数字12321是不是不问数字
字符数组 [‘1’,‘2’,‘3’,‘3’,‘2’,‘1’] 则需要比较前面一半与后面一半是否相等皆可。

	public boolean Palindrome(Integer num) {
		char[] str = num.toString().toCharArray();
		int j=0;
		if(str.length % 2==0) {
			j = str.length / 2 -1;
		}else {
			j = str.length / 2 ;
		}
		for(int i = str.length -1; i> j;i--) {
			if(str[i]==str[str.length -1 -i]) {
				continue;
			}else {
				return false;
			}
		}
		return true;
	}
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/338112.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号