力扣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);
    }
};
相关推荐
OKkankan8 分钟前
多态概念及使用
开发语言·数据结构·c++·算法
nn在炼金11 分钟前
FlashAttention 1 深度解读:原理、价值、应用与实战
人工智能·算法
WHS-_-202221 分钟前
Channel Estimation for mmWave High-Mobility Systems With 5G New Radio OFDM (I)
算法·5g
.格子衫.25 分钟前
026动态规划之跨步DP——算法备赛
算法·动态规划
roman_日积跬步-终至千里25 分钟前
【模式识别与机器学习(7)】主要算法与技术(下篇:高级模型与集成方法)之 扩展线性模型(Extending Linear Models)
人工智能·算法·机器学习
做怪小疯子25 分钟前
LeetCode 热题 100——二叉树——二叉树的最大深度
算法·leetcode·职场和发展
Maỿbe34 分钟前
暴打力扣之优先级队列(堆)
算法·leetcode·职场和发展
Swift社区35 分钟前
LeetCode 438 - 找到字符串中所有字母异位词
算法·leetcode·职场和发展
北冥湖畔的燕雀41 分钟前
二叉搜索树:高效查找与删除的实现
数据结构·c++·算法