跳到主要内容

回文数

题目描述

给你一个整数 x,如果 x 是一个回文整数,返回 true ;否则,返回 false

回文数是指正序(从左向右)和倒序(从右向左)读都是一样的整数。例如,121 是回文,而 123 不是。

示例

输入:x = 121
输出:true

提示:

  • -2^31 <= x <= 2^31 - 1

解题思路

判断回文数

  1. 边界处理:当 x < 0 时,x 不是回文数
  2. 转换成字符串,并判断是否为回文

C++ 解法

#include <string>

class Solution {
bool isPalindrome(int x) {
if (x < 0) return false;

std::string s = std::to_string(x);
int compare_count = s.length() / 2;

for (int i = 0; i < compare_count; i++) {
if (s[i] != s[s.length() - i - 1])
return false;
}
}
return true;
};

LeetCode链接: 9. 回文数