返回轨道
算法 · 2026-05-14 · 21 阅读

P13 回文数字判断

算法 21 阅读

信号摘要

难度:Easy · 时长:04:44 · leetcode 9 · lintcode 491

P13 回文数字判断

未对外公开播放权限
点击查看说明

描述

这个题目说的是,给你一个整数,你要判断它是否是一个回文数字。所谓回文数字就是,你正着读和反着读都是同一个数字。

比如,给你的数字是:

12321

无论你从左向右读,还是从右向左读,都是 12321,所以它是一个回文数字,你要返回 true。

再比如说:

-232

你从左向右读是 -232,但从右向左读则是 232-,和 -232 不一样,因此它不是一个回文数字,你要返回 false。

代码

public class AlgoCasts {

  // Time: O(m), Space: O(1)
  public boolean isPalindromeString(int x) {
    String str = String.valueOf(x);
    int i = 0, j = str.length() - 1;
    while (i < j) {
      if (str.charAt(i) != str.charAt(j)) return false;
      ++i;
      --j;
    }
    return true;
  }

  // Time: O(m), Space: O(1)
  public boolean isPalindrome(int x) {
    if (x < 0) return false;
    int tmp = x;
    long y = 0;
    while (tmp != 0) {
      int num = tmp % 10;
      y = y * 10 + num;
      tmp = tmp / 10;
    }
    return y == x;
  }

}

📡 通讯频道