不难想到将数字转换成字符串进行回文字符串的判断。
对于数字,有比较巧妙的办法:
- 将数字每次除以10作为前一半
- 将数字每次对10取模作为后一半
- 判断前一半和后一半是否相等
public boolean palindrome(long num) {
if (num < 0 || (num % 10 == 0 && num != 0))
return false;
long x = 0;
while (num > x) {
x = x * 10 + num % 10;
num /= 10;
}
return x == num || num == x / 10;
}

博客探讨了一种巧妙的方法来判断数字是否为回文字符串。通过将数字除以10获取前半部分,对10取模得到后半部分,然后比较两者是否相等或在适当情况下比较其反转,实现高效判断。这种方法避免了将数字转换为字符串的操作,提高了算法效率。

被折叠的 条评论
为什么被折叠?



