java 判断回文数详解

想了解更多算法题,可以关注微信公众号“数据结构和算法”,每天一题为你精彩解答。也可以扫描下面的二维码关注在这里插入图片描述

1,如果是一个数字类型,比如int类型,我们可以这样判断

 	private static boolean palindromic1(int num) {List<Integer> bit = new ArrayList<>();while (num != 0) {bit.add(num % 10);num /= 10;}for (int i = 0; i < (bit.size()) >> 1; i++) {if (bit.get(i) != bit.get(bit.size() - i - 1))return false;}return true;}

2,如果是字符串类型,就容易多了,我们可以直接下面这样判断

 	public static boolean palindromic2(String str) {if (str == null || str.length() == 0)return false;int left = 0, right = str.length() - 1;while (left < right) {if (str.charAt(left++) != str.charAt(right--))return false;}return true;}

3,当然我们还可以使用递归的方式

 	public static boolean palindromic3(String str) {if (str == null || str.length() == 0)return false;return palindromicHelper(str, 0, str.length() - 1);}public static boolean palindromicHelper(String str, int left, int right) {if (left >= right)return true;if (str.charAt(left) != str.charAt(right))return false;return palindromicHelper(str, ++left, --right);}

4,如果借助第三方工具类就更简单了

	public static boolean palindromic4(String str) {if (str == null || str.length() == 0)return false;StringBuilder sb = new StringBuilder(str);String afterReverse = sb.reverse().toString();return afterReverse.equals(str);}


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部