本文共 1095 字,大约阅读时间需要 3 分钟。
判断一个整数是否为回文数,主要的思路是将该整数分解为各个位上的数字,并从左到右和从右到左进行比较。
首先,将整数分解为各个位上的数字。可以使用取模和整除的方法,依次得到个位、十位、百位等数字,存储在一个数组中。
创建两个游标,一个从数组的开头开始遍历,另一个从数组的末尾开始遍历。比较这两个位置上的数字,如果有任何一对数字不相等,则返回false。如果所有数字都相等,则返回true。
Solution{ public static boolean isPalindrome(int x) { if (x < 0) { return false; } if (x >= 0 && x < 10) { return true; } int[] num = new int[10]; for (int i = 0; i < 10; ++i) { num[i] = -1; } int idx = 0; while (true) { num[idx++] = x % 10; x /= 10; if (x == 0) { break; } } for (int i = 0, j = idx - 1; i <= j; ++i, --j) { if (num[i] != num[j]) { return false; } } return true; }} num中。转载地址:http://brhe.baihongyu.com/