9. 回文数

LeetCode 第9题:回文数 通过这个题目,我们不仅学习了如何判断一个数是否是回文数,还探讨了两种不同的解题方法:直接转换为字符串法和反转一半数字法。通过这些方法,我们可以在不同情况下灵活应对,保证高效、正确地解决问题。思路是这样的: 1. 特殊情况处理:负数一定不是回文数;以0结尾的数字(除非是0本身)也不可能是回文数。2. 反转一半的数字:将数字的后半部分反转,然后与前半部分进行比较。 阅读详情

判断一个整数是否是回文数。回文数是指正序(从左向右)和倒序(从右向左)读都是一样的整数。

示例 1:

输入: 121
输出: true

示例 2:

输入: -121
输出: false
解释: 从左向右读, 为 -121 。 从右向左读, 为 121- 。因此它不是一个回文数。

示例 3:

输入: 10
输出: false
解释: 从右向左读, 为 01 。因此它不是一个回文数。

进阶:

你能不将整数转为字符串来解决这个问题吗?

思路:字符串的方法就不用了,直接将数反转然后比较,这里有两点需要注意

          1:反转后的数可能溢出,但溢出的数一定不是回文数

          2:可以只反转一半的位数,不用全部反转。

         刷题千万不能提交成功就完事了,官方题解一定要

好好看,而且底下的评论更是有很多精彩的解法,值得学习。

        行百里者半九十,坚持住!

 


/************************************************************************
*
* 文件名:9-回文数.cpp
*
* 文件描述:判断一个整数是否是回文数。回文数是指正序(从左向右)和倒序(从右向左)读都是一样的整数。
* 创建人:  fdk

* 时  间:  2019-01-14
*
* 版本号:1.0
*
* 修改记录:思路很简单,一种是用字符串的方式,进阶说不用字符串来做,那就和上一题数字反转
*           相似,但是存在溢出,两种一种用更大位数的类型存储,一种是如果溢出一定不是回文数
*           官方题解中,没有全部反转当反转到一半的位置时就行了。
*
************************************************************************/

#include<cstdio>
#include<cstring>
#include<algorithm>
#include<iostream>
#include<string>
#include<vector>
#include<stack>
#include<bitset>
#include<cstdlib>
#include<cmath>
#include<set>
#include<list>
#include<deque>
#include<map>
#include<queue>
#include<limits.h>
#define max 100
using namespace std;

/*判断函数*/
bool isPalindrome(int x);
int main()
{
    int x;
    cin >> x;
    if (isPalindrome(x)) cout << "yes";
    else cout << "no";
    return 0;
}

bool isPalindrome(int x)
{
    //当为负数、最后一位为0,则一定不是回文数
    if ( x < 0 || x % 10 == 0 && x != 0) return false;
    else
    {
        int rev = 0;

        /*该循环停止条件,当数的后半部分比前半部分大时退出*/
        while (x > rev)
        {
            int pop = x % 10;
            x /= 10;
            rev = rev * 10 + pop;
        }
        /*12321, rev = 123, x = 12*/
        if (x == rev || x == rev / 10) return true;
        else return false;
    }
}

















Zynq工程IP核封装:XCI引用与约束继承实战指南 IP核封装是FPGA系统设计中实现模块复用、团队协作与技术资产沉淀的关键环节。其本质是将功能逻辑、时序约束、接口协议和硬件配置统一抽象为可配置、可验证、可演进的标准化组件。核心原理在于通过XCI文件保留IP核的参数化定义能力,依托Vivado IP Packager实现约束继承、端口自动映射与时钟域解耦,从而保障跨项目集成的时序可信性与约束完备性。该技术广泛应用于Zynq SoC视频处理、高速接口(如HDMI/TMDS)、多时钟域控制系统等场景,尤其在需要长期维护与版本迭代的工业级嵌入式开发中具有不可替代的 阅读详情

相关推荐

金融科技数据源

数字金融开放研究平台

平平淡淡,戒急用忍,一生学闭嘴。 1757

【刷题之路】LeetCode 9.回文数

思路和方法1的改进版的思路差不多,只不过我们这次是直接取出x两端的数字进行比较(即取出最高位和最低位)。时间复杂度:O(log10(N)),N为数字x的值,每取一个数字,我们都要对x进行除10操作,所以时间复杂度为O(log10(N))。时间复杂度:O(n),n为数字的位数或字符串的长度,转化时的复杂度为log10n,逆序时的复杂度为n/2故复杂度为O(n)。时间复杂度:O(n),n为数字的位数或字符串的长度,转化时的复杂度为log10n,比较时的复杂度为n/2故复杂度为O(n)。因此它不是一个回文数。

kk702392702的博客 558

别再对着手册发愁了!手把手教你读懂MIPI-DSI初始化命令(以Rockchip平台为例)

本文深入解析MIPI-DSI初始化命令在Rockchip平台的应用,帮助嵌入式工程师快速掌握LCD屏幕调试技巧。从协议基础到实战指南,详细拆解命令格式、DCS与Generic命令的区别,并提供Rockchip平台的调试全流程与高级技巧,解决常见显示问题。

weixin_42519781的博客 262

9.回文数

回文数介绍: 回文数是指正序(从左向右)和倒序(从右向左)读都是一样的整数。例如,121 是回文,而 123 不是。 题目要求: 给你一个整数x,如果x是一个回文整数,返回true;否则,返回false。 示例: 输入:x = 121 输出:true 输入:x = -121 输出:false 解释:从左向右读, 为 -121 。 从右向左读, 为 121- 。因此它不是一个回文数。 输入:x = 10 输出:false 解释:从右向左读, 为 01 。因此它不是一个回文数。 ...

qq_45738177的博客 169

视频倍速 - 在线调倍速的加速器APP工具

一刀工具箱APP提供一键可将手机上的视频倍速播放,可以调整视频倍速的加速器,调节视频的速度也就是调节视频的播放速度!一键可将手机上的视频倍速播放,可以调整视频倍速的加速器,调节视频的速度也就是调节视频的播放速度!视频倍速-在线调倍速的加速器-一刀工具箱APP。...

无涯教程 7553

SOLIDWORKS无法获得下列许可 无效的使用许可号码(-8,544,0) 解决办法大全

SOLIDWORKS无法获得下列许可 无效的使用许可号码(-8,544,0) 解决办法大全。版本:SolidWorks2021。电脑:惠普战66四代。软件安装不困难!

qq_43596278的博客 11万+

力扣大厂热门面试算法题 9-11

​ 9. 回文数,10. 正则表达式匹配,11. 盛最多水的容器,每题做详细思路梳理,配套Python&Java双语代码, 2024.03.08可通过leetcode所有测试用例。

引用原创内容标明出处即可 1175

MacBook上玩转国民技术N32G430:从零搭建ARM开发环境(VSCode + pyOCD)

本文详细介绍了在MacBook上搭建国民技术N32G430的ARM开发环境,涵盖VSCode配置、pyOCD调试及一键编译烧录全流程。通过Homebrew安装工具链、配置Python环境及VSCode插件,开发者可在MacOS高效开发嵌入式应用,特别适合国产芯片N32G430的开发者参考。

weixin_30614109的博客 436

[力扣c语言实现]9. 回文数

9. 回文数1. 题目描述2.代码如下 1. 题目描述 给你一个整数 x ,如果 x 是一个回文整数,返回 true ;否则,返回 false 。 回文数是指正序(从左向右)和倒序(从右向左)读都是一样的整数。例如,121 是回文,而 123 不是。 示例 1: 输入:x = 121 输出:true 示例 2: 输入:x = -121 输出:false 解释:从左向右读, 为 -121 。 从右向左读, 为 121- 。因此它不是一个回文数。 示例 3: 输入:x = 10 输出:false 解释:从右向左

dengwodaer的博客 681

混合精度训练与推理:平衡性能与效率

在深度学习领域,模型的训练和推理通常需要大量的计算资源和时间。随着模型规模的不断增大,如大型语言模型、复杂的视觉模型等,对计算资源的需求也呈指数级增长。混合精度训练与推理技术应运而生,它通过在训练和推理过程中同时使用不同精度的数据类型,在保证模型性能的前提下,显著提高计算效率,减少内存占用。本文的目的是全面介绍混合精度训练与推理技术,包括其原理、实现方法、应用场景以及相关工具和资源,帮助读者深入理解并掌握该技术,从而在实际项目中更好地平衡性能与效率。

操作系统内核探秘的博客 1068

基于Python实现学习进度跟踪系统

{{ task }}: {{ "%.1f"|format(hours) }}小时

寒寒豆豆软件公司的博客 195

LeetCode 9. 回文数

判断一个整数是否是回文数。回文数是指正序(从左向右)和倒序(从右向左)读都是一样的整数。

晴空๓ 2795

Vue2 - 详细实现解析Markdown内容生成侧边栏Toc目录索引,识别文章内容根据大标题/小标题自动生成多级文章目录,点击目录导航时跳转到文章内容对应的锚点位置带过渡动画,滑过锚点时高亮对应标题

vue2,nuxt2,Markdown,目录,文章目录锚点,滚动高亮导航文字,根据页面滚动高亮显示目录的侧边栏,自动提取标题生成右侧目录,vuemarkdown解析并生成目录,滚动页面的时候文章目录跟着选中效果,侧边栏滚动跟随页面,右边目录固定,左边内容可以滚动并且与左边目录联动,实现监听滚动,锚点定位,文章目录滚动跟随高亮,右边菜单点击目录滚动到对应标题,报错,渲染失败,文章内容,读取#标题符号,自动生成一个目录树,自动生成Toc目录,博客内容生成目录索引,资讯文章,生成锚点目录树TOC,详细示例代码教

🏆 前端领域优质创作者 3668

LeetCode9. 回文数

LeetCode9. 回文数题目说明题目说明代码 题目说明 判断一个整数是否是回文数。回文数是指正序(从左向右)和倒序(从右向左)读都是一样的整数。 示例 1: 输入: 121 输出: true 示例 2: 输入: -121 输出: false 解释: 从左向右读, 为 -121 。 从右向左读, 为 121- 。因此它不是一个回文数。 示例 3: 输入: 10 输出: false 解释...

坚果 365

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

LeetCode 9 回文数

LeetCode 9 回文数 题目 判断一个整数是否是回文数。回文数是指正序(从左向右)和倒序(从右向左)读都是一样的整数。 示例 1: 输入: 121 输出: true 示例 2: 输入: -121 输出: false 解释: 从左向右读, 为 -121 。 从右向左读, 为 121- 。因此它不是一个回文数。 示例 3: 输入: 10 输出: false 解释: 从右向左读, 为 01 。因此...

Ailecccc的博客 186

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

LeetCode-9 回文数

题目:9. 回文数 难度:简单 分类:字符串、数学 解决方案:双指针、整数取余 今天我们学习第9题回文数,这是一个关于数学的简单题,这个题目比较简单,最好能手写出该题。下面我们看看这道题的题目描述。 题目描述 判断一个整数是否是回文数。回文数是指正序(从左向右)和倒序(从右向左)读都是一样的整数。 示例 1: 输入: 121 输出: true 示例 2: 输入: -121 输出: fals...

jacob2359的博客 335

Leetcode 9 回文数

Leetcode 9.回文数 题目描述: 判断一个整数是否是回文数。回文数是指正序(从左向右)和倒序(从右向左)读都是一样的整数。 示例 1: 输入: 121 输出: true 示例 2: 输入: -121 输出: false 解释: 从左向右读, 为 -121 。 从右向左读, 为 121- 。因此它不是一个回文数。 示例 3: 输入: 10 输出: false 解释: 从右向左读, 为 01 ...

EngineerHe的博客 663

【LeetCode】9、回文数

先判断首1和尾1, 再变为 525, offset 变为 100。例如 15251, offset 也是五位数的 10000。再判断首5和尾5, 再变为 2, offset 变为 1。其中, 过程中需借助 offset 完成。整个过程若都符合, 则符合回文数。

呆呆的猫的博客 1156

leetcode 9——回文数

leetcode 9——回文数 题目描述: 判断一个整数是否是回文数。回文数是指正序(从左向右)和倒序(从右向左)读都是一样的整数。 示例 1: 输入: 121 输出: true 示例 2: 输入: -121 输出: false 解释: 从左向右读, 为 -121 。 从右向左读, 为 121- 。因此它不是一个回文数。 示例 3: 输入: 10 输出: false 解释: 从右向左读,...

weixin_44795839的博客 219

[LeetCode] 9、回文数

题目描述 判断一个整数是否是回文数。(进阶:你能不将整数转为字符串来解决这个问题吗?) 解题思路 常规思路是将整数转换成字符串(to_string()),然后就很容易了。下面只考虑进阶解法: 数学法: 对于数字的末位,直接取余就可以了,对于数字的首位,我们可以这么算。 首先用一个变量记录数字的最高位,比如 12321,可以标记 help 为 10000。(关键) 第一个末位为 1,第一个首位为...

aift的专栏 165

BASIC-9 特殊回文数

BASIC-9 试题 基础练习 特殊回文数 问题描述   123321是一个非常特殊的数,它从左边读和从右边读是一样的。   输入一个正整数n, 编程求所有这样的五位和六位十进制数,满足各位数字之和等于n 。 输入格式   输入一行,包含一个正整数n。 输出格式   按从小到大的顺序输出满足条件的整数,每个整数占一行。 样例输入 52 样例输出 899998 989989 998899 数据规模和...

塔迪斯之心 165

力扣9.回文数

回文数是指正序(从左向右)和倒序(从右向左)读都是一样的整数。是一个回文整数,返回。

2502_90980100的博客 237

力扣 9.回文数

(reversed == INT_MAX / 10 && last > 7):如果 reversed 等于 INT_MAX / 10,且 last 大于 7,那么 reversed * 10 + last 也会溢出(因为 INT_MAX 是一个 32 位有符号整数的最大值,其最后一位是 7)。,循环结束后,比较原始数字 original 和反转后的数字 reversed ,如果相等则说明 x 是回文数,返回 true ,否则返回 false。从右向左读, 为 121-。

2401_89122881的博客 829

LeetCode #9 回文数

LeetCode #9回文数 题目描述 判断一个整数是否是回文数。回文数是指正序(从左向右)和倒序(从右向左)读都是一样的整数。 示例 1: 输入: 121 输出: true 传送门:LeetCode #9回文数 解法 class Solution { public: bool isPalindrome(int x) { int jud[20]; int p...

Jason7even的博客 166

LeetCode 9.回文数 Java

文章目录题目示例思路代码进阶思路官方题解 题目 判断一个整数是否是回文数。回文数是指正序(从左向右)和倒序(从右向左)读都是一样的整数。 示例 示例 1: 输入: 121 输出: true 示例 2: 输入: -121 输出: false 解释: 从左向右读, 为 -121 。 从右向左读, 为 121- 。因此它不是一个回文数。 示例 3: 输入: 10 输出: false 解释: 从右向左读, 为 01 。因此它不是一个回文数。 思路 转字符串,翻转,返回比较结果 代码 String s=

Cold__Winter的博客 319

力扣题库——9.回文数

回文数是指正序(从左向右)和倒序(从右向左)读都是一样的整数。是一个回文整数,返回。

weixin_74165584的博客 825
上一篇: 7. 整数反转
下一篇: 13. 罗马数字转整数
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值