力扣9. 回文数

模拟

  • 思路:
    • 计算这位数的反序数值;
    • 然后比较与原数值是否相等;
cpp 复制代码
class Solution {
public:
    bool isPalindrome(int x) {
        if (x < 0) {
            return false;
        }
        
        if (x < 10) {
            return true;
        }
        
        long long int sum = 0;
        int tmp = x;
        while (tmp) {
            sum = sum * 10 + tmp % 10;
            tmp /= 10;
        }
        
        return (sum == x);
    }
};
  • 上述方法将数值的每一位都遍历了一次,可以根据回文的特性遍历到中间位置;
cpp 复制代码
class Solution {
public:
    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 /= 10;
        }

        return (x == rev) || (x == rev / 10);
    }
};
相关推荐
晚风吹长发9 分钟前
初步了解Linux中的信号捕捉
linux·运维·服务器·c++·算法·进程·x信号
机器学习之心13 分钟前
MATLAB基于GA-ELM与NSGA-Ⅱ算法的42CrMo表面激光熔覆参数多目标优化
算法·matlab·ga-elm
TracyCoder12313 分钟前
LeetCode Hot100(17/100)——240. 搜索二维矩阵 II
算法·leetcode
FJW02081413 分钟前
haproxy的调度算法
算法
浅念-14 分钟前
C语言——内存函数
c语言·经验分享·笔记·学习·算法
MicroTech202520 分钟前
微算法科技(NASDAQ:MLGO)基于后量子阈值算法的区块链隐私保护技术
科技·算法·区块链
qq_4171292526 分钟前
基于C++的区块链实现
开发语言·c++·算法
2401_8324027529 分钟前
C++中的命令模式实战
开发语言·c++·算法
有一个好名字30 分钟前
力扣-钥匙和房间
算法·leetcode·深度优先
ZPC821031 分钟前
ROS2 独占内核
人工智能·python·算法·机器人