力扣第九题C++回文数

题目

知识点

to_string

题解

转换为字符串

利用 std::string s = std::to_string(x);

末位数是0也不是回文数

cpp 复制代码
class Solution {
public:
    bool isPalindrome(int x) {
        if(x<0 || (x!=0 && x%10==0)) return false;

        int i=0;
        std::string s = std::to_string(x);
        int n=s.size();
        while(i<n/2){
            if(s[0+i] != s[n-1-i]) return false;
            i++;
        }
        return true;
    }
};

不转换为字符串

数据反转可能导致数据溢出

cpp 复制代码
bool isPalindrome(int x) {
    if (x < 0 || (x % 10 == 0 && x != 0)) 
        return false;
    
    int rev = 0;
    while (x > rev) {
        rev = rev * 10 + x % 10;
        x = x / 10;
    }
    return x == rev || x == rev / 10;
}
相关推荐
To_OC32 分钟前
LC 128 最长连续序列:别上来就排序,O (n) 解法才是这题的灵魂
javascript·算法·leetcode
05Kevin14 小时前
lk每日冒险题--数据结构6.27
算法
To_OC1 天前
从一次栈溢出报错说起,我把递归彻底扒明白了
javascript·算法·程序员
千纸鹤安安1 天前
千问Qwen-AgentWorld来了:一个语言模型搞定七大Agent场景,GPT-5.4都输了
算法
七牛开发者1 天前
MCP 到底是什么?为什么 Agent 都想接上它
算法·aigc·agent
卷无止境2 天前
C++ 的Eigen 库全解析
c++
卷无止境2 天前
现代 C++特性大盘点:一门脱胎换骨的老语言
c++·后端