如何让单位网站做防护,洛阳宣传片制作公司,网站挂马教程,wordpress静态地址回文数字的定义#xff1a;第一位和最后一位相等#xff0c;第二位和倒数第二位相等...依次类推#xff0c;比如1221,12321等等#xff0c;也就是说一个数字如果是回文#xff0c;那么将它反转之后#xff0c;一定和原来的值相等
解法一#xff1a;投机取巧#xff0c…回文数字的定义第一位和最后一位相等第二位和倒数第二位相等...依次类推比如1221,12321等等也就是说一个数字如果是回文那么将它反转之后一定和原来的值相等
解法一投机取巧用Java的StringBuilder的reverse方法 public static boolean isPalindrome2(int x) {String s1 String.valueOf(x);String s2 new StringBuilder(s1).reverse().toString();return s1.equals(s2);}
解法二将数字反转得到反转之后的值与原值相比较 public static boolean isPalindrome1(int x) {if (x 0) {return false;}int reversed 0, y x;while (y ! 0) {reversed reversed * 10 y % 10;y y / 10;}return reversed x;}
解法三一个数字如果是回文那么它的前半部分和后半部分的反转一定相等相当于是在解法二的基础上的优化减少了循环的次数 public static boolean isPalindrome(int num) {if (num 0 || (num % 10 0 num ! 0)) {return false;}int revertedNumber 0;while (num revertedNumber) {revertedNumber revertedNumber * 10 num % 10;num / 10;}return num revertedNumber || num revertedNumber / 10;}