力扣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);
    }
};
相关推荐
XLYcmy36 分钟前
高级密码猜测生成器AdvancedPasswordGenerator密码生成器程序详细分析
开发语言·python·算法·网络安全·开发工具·源代码·口令安全
im_AMBER2 小时前
Leetcode 93 找出临界点之间的最小和最大距离
c++·笔记·学习·算法·leetcode
有一个好名字2 小时前
力扣:除自身以外数组的乘积
java·算法·leetcode
bkspiderx3 小时前
C++中的访问控制:private、public与protected的深度解析
开发语言·c++·算法·访问控制·private·public·protected
ullio3 小时前
arc207c - Combine to Make Non-decreasing
算法
it运维技术圈3 小时前
斩杀线之老杨面试了一个42岁的资深大佬,他哭了
面试·职场和发展
ZhuNian的学习乐园3 小时前
LLM对齐核心:RLHF 从基础到实践全解析
人工智能·python·算法
iAkuya3 小时前
(leetcode)力扣100 31K个一组翻转链表(模拟)
算法·leetcode·链表
铭哥的编程日记4 小时前
二叉树遍历的递归和非递归版本(所有题型)
算法
&永恒的星河&4 小时前
告别过时预测!最新时序新SOTA:TimeFilter教会模型“选择性失明”
人工智能·深度学习·算法·时序预测·timefilter·时序算法