概述

注水博客,期末emo加摆烂,想做做简单算法抚慰心灵:

题目描述

9.回文数

给你一个整数 x ,如果 x 是一个回文整数,返回 true ;否则,返回 false

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

例如,121 是回文,而 123 不是。

示例 1:

输入:x = 121
输出:true

示例 2:

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

示例 3:

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

提示:

-231 <= x <= 231 - 1

解题思路

暴力解题:回文数判断时,一半的数字是要调换顺序来比较的,所以想到了先进后出的栈。先判断数字位数length,确定栈的大小为length/2,如果是奇数个数字(length%2!=0),跳过最中间数字。最后别忘了,负数直接判错。

代码

    /*大致思路*///算出数字位数//用一个栈来存储判断一半的数字
bool isPalindrome(int x){if(x < 0) return false;//为负数直接判错int idx = 0;//循环控制变量int temp = x;//临时变量int length = 0;//数字位数int top = 0;//栈顶指针int stack[31] = {};// 判断长度for(idx = 0;idx < 31;++idx){//提示给出次方不超过31if(temp > 0) ++length;temp/=10;}// 入栈for(top = 0;top < length / 2;++top){stack[top] = x%10;//取末尾的数入栈x/=10;}// 比较if(length%2==1){x/=10;}//如果位数是奇数,跳过判断中间的数字for(top = length / 2 - 1;top > -1;--top){if(stack[top]!=x%10){return false;}x /= 10;}return true;
}

来源:力扣(LeetCode)
链接:https://leetcode.cn/problems/palindrome-number

【简单算法】回文数(C语言)相关推荐

  1. mn之间的回文数c语言,c语言描述回文数的三种算法

    题目描述 注意:(这些回文数都没有前导0) 1位的回文数有0,1,2,3,4,5,6,7,8,9 共10个: 2位的回文数有11,22,33,44,55,66,77,88,99 共9个: * 请问:n ...

  2. P1015 [NOIP1999 普及组] 回文数 C语言实现

    最近在做洛谷的一道回文数的题目时卡住了,但由于笔者只学习了C语言,于是想找一篇C语言写的博客学习一下.但无奈的是大多为C++或Python等语言,而且注释太少,用C++写的有的博客全局变量使用的太多, ...

  3. 10000内的回文数c语言,回文数

    "回文"是指正读反读都能读通的句子,它是古今中外都有的一种修辞方式和文字游戏,如"我为人人,人人为我"等.在数学中也有这样一类数字有这样的特征,成为回文数(pa ...

  4. 用c语言求五位回文数,C语言求回文数(详解版)

    问题描述 打印所有不超过n(取n<256)的其平方具有对称性质的数(也称回文数). 问题分析 对于要判定的数n计算出其平方后(存于a),按照"回文数"的定义要将最高位与最低位 ...

  5. c语言编写函数求回文数,C语言求回文数(详解版)

    问题描述 打印所有不超过n(取n<256)的其平方具有对称性质的数(也称回文数). 问题分析 对于要判定的数n计算出其平方后(存于a),按照"回文数"的定义要将最高位与最低位 ...

  6. 用c语言编程判断一个数是否为回文数,C语言判断一个数是不是回文数

    所谓回文数,就是说一个数字从左边读和从右边读的结果是一模一样的,例如12321.判断给出的整数是否是回文数:若是,则输出该整数各位数字之和:否则输出该数不是一个回文数. 原理大致为:任何一个数除以10 ...

  7. 五位数回文数c语言程序,五位数的回文数有多少个

    2018-12-16 数学中有哪些回文数? 简介折叠编辑本段回文数是指一个像16461这样"对称"的数,即:将这个数的数字按相反的顺序重新排列后,所得到的数和原来的数一样.这里,& ...

  8. 回文数c语言北理,2019届高考数学(北师大版理)大一轮复习配套练习:第十章 计数原理 第1讲 分类加法计数原理与分步乘法计数原理 .doc...

    2019届高考数学(北师大版理)大一轮复习配套练习:第十章 计数原理 第1讲 分类加法计数原理与分步乘法计数原理 .doc 第1讲分类加法计数原理与分步乘法计数原理一.选择题1.从集合0,1,2,3, ...

  9. 回文数c语言北理,2020年高考数学一轮复习课时分层训练62分类加法计数原理与分步乘法计数原理理北师大版4212.pdf-资源下载在线文库www.lddoc.cn...

    2020年高考数学一轮复习课时分层训练62分类加法计数原理与分步乘法计数原理理北师大版_4212.pdf 课时分层训练课时分层训练 六十二六十二 分类加法计数原理与分步乘法计数原理分类加法计数原理与分 ...

  10. 回文数c语言 字符串,回文数与回文字符串的判断

    1.回文数字:判断一个数字是不是回文数.(回文数的特点是正反序是同一个数字,如:12321,3443). 2.回文字符串:判断一个字符串是不是回文字符串.(回文字符串特点是原字符串与字符串逆序之后一样 ...

最新文章

  1. 全网唯一秃头数据集:20 万张人像,网罗各类秃头
  2. 面试热点|理解TCP/IP传输层拥塞控制算法
  3. Java黑皮书课后题第8章:*8.24(检验数独的解决方案)程序清单8-4通过检测棋盘上的每个数字是否是有效的,从而检验一个解决方案是否是有效的。重写该程序,通过检验是否每行、每列、每个小方盒中具有
  4. Nginx For Windows 关于 worker_connections 不生效问题
  5. 基于JAVA+SpringMVC+Mybatis+MYSQL的疫情防控物业管理系统
  6. 使用idea的maven插件自动打jar包
  7. Windows Event Log相关函数使用(1)
  8. Unity组件脚本的常用类和结构体GameObject
  9. 紫乌鸦服务器维护后多久刷,魔兽世界6.1紫乌鸦刷新点大全 刷新时间
  10. 【外网不好用】可以尝试添加dns即可解决上不去外网的问题。
  11. 第一代程序员作家--王小波
  12. layui table 复选框跳页后再回来保持原来选中的状态
  13. 树莓派4b无显示屏远程控制
  14. lambda函数引用学习记录
  15. 低学历计算机工作,非常适合低学历考生学习的5大技术,就业容易且高薪,可安身立命...
  16. Craster's Parabolic Projection(CPP)
  17. Simple WPF:实现一个透明、无边框、鼠标穿透的WPF窗体
  18. 2w字 + 40张图带你参透并发编程
  19. 利用idea创建一个基本的smm项目(带增删改查)
  20. WWDC18 iOS 自动生成强密码和自动填充验证码/密码

热门文章

  1. SAP 零售 FMS 物料主数据(二)归档
  2. 联想笔记本bios设置u盘启动
  3. 【随机信号处理笔记】 Chapter4 信号检测
  4. Mac OS 12.0.1 如何安装柯美287打印机驱动,刷卡打印
  5. 【精益生产】数字化转型探索之路——基于精益生产管理的数据决策分析体系
  6. c连接mysql数据库字符串函数_在mysql数据库—— 字符串函数的运用
  7. 浙大美女开源的算法,真有你的
  8. 详解项目管理认证(PMP、IPMP、ITPMP、CPMP)
  9. int 类型怎么判断空
  10. 高房楼噪音测试软件,高层住宅噪音测试:11层分贝数高于其他楼层