【算法题】【★】回文数

川长思鸟来 2022-12-31 15:26 233阅读 0赞
  1. //判断一个整数是否是回文数。回文数是指正序(从左向右)和倒序(从右向左)读都是一样的整数。
  2. //
  3. // 示例 1:
  4. //
  5. // 输入: 121
  6. //输出: true
  7. //
  8. //
  9. // 示例 2:
  10. //
  11. // 输入: -121
  12. //输出: false
  13. //解释: 从左向右读, 为 -121 。 从右向左读, 为 121- 。因此它不是一个回文数。
  14. //
  15. //
  16. // 示例 3:
  17. //
  18. // 输入: 10
  19. //输出: false
  20. //解释: 从右向左读, 为 01 。因此它不是一个回文数。
  21. //leetcode submit region begin(Prohibit modification and deletion)
  22. class Solution {
  23. public boolean isPalindrome(int x) {
  24. if (x < 0 || (x % 10 == 0 && x != 0)) return false;
  25. int n = 0;
  26. while (x > n) { //这里仅需要比较一半即可,不需要x!=0
  27. n = n * 10 + x % 10;
  28. x = x / 10;
  29. }
  30. return x == n || x == n / 10;//x == n是偶数位的情况,x == n/10是奇数位的情况
  31. // if (x == 0) {
  32. // return true;
  33. // }
  34. // if (x < 0 || x % 10 == 0) {
  35. // return false;
  36. // }
  37. // int n = 0;
  38. // int a = x;
  39. // while (x != 0) {
  40. // n = n * 10 + x % 10;
  41. // x = x / 10;
  42. // }
  43. // if (a == n) {
  44. // return true;
  45. // } else {
  46. // return false;
  47. // }
  48. }
  49. }
  50. //leetcode submit region end(Prohibit modification and deletion)

发表评论

表情:
评论列表 (有 0 条评论,233人围观)

还没有评论,来说两句吧...

相关阅读

    相关 Java算法

    一个正整数,如果交换高低位以后和原数相等,那么称这个数为回文数。比如 121121,23322332都是回文数,13,456713,4567 不是回文数。 任意一个正整数,如