C语言实现回文数判断
C语言实现不使用字符串的整数回文数判断
题目来源:LeetCode题库
判断一个整数是否是回文数。回文数是指正序(从左向右)和倒序(从右向左)读都是一样的整数。
示例 1:
输入: 121
输出: true
示例 2:
输入: -121
输出: false
解释: 从左向右读, 为 -121 。 从右向左读, 为 121- 。因此它不是一个回文数。
示例 3:
输入: 10
输出: false
解释: 从右向左读, 为 01 。因此它不是一个回文数。
进阶:
不将整数转为字符串来解决这个问题
思路:获取输入数值后,需要判断该数值是否是负数,如果是负数则不需要进行其他操作直接返回false,如果不是则将输入的数值进行反转,因为反转后的数值可能会越界导致溢出,所以需要用那个更长的数据类型来接收,使用long类型变量来作为接收反转的数值,最后再将反转后的数值与输入值进行对比。进行反转操作时使用while(y > 0)的好处是:一个可以作为反转操作的结束判断,一个是可以对输入数如果是0的话的,直接就返回true
代码实现:
#include<stdio.h>
#include<limits.h>
#include <stdbool.h>// 判断是否是回文数
_Bool isPalindrome(int x){int y = 0;long tmp = 0;// 输入的是负数,直接返回错误if(x < 0){return false;}y = x;// 输入为0直接返回正确while(y > 0){tmp = tmp * 10 + y % 10;y = y / 10;}return tmp == x ? true : false;
}int main(void)
{int num = 0;_Bool result;printf("\r\n请输入一个数字:");scanf("%d", &num);result = isPalindrome(num);printf("\r\n%d回文数的判断结果为:%d\r\n", num, result);return 0;
}
执行用时: 12 ms
内存消耗: 5.3 MB
注意:在LeetCode运行程序需要为long类型变量赋初值,否则会出现错误
C语言实现回文数判断相关推荐
- 25.(C语言)回文数判断万用公式
1.基本思路 回文数:指正序(从左向右)和倒序(从右向左)读都是一样的整数. 做法:(倒序)每次取出个位的数,让它每次乘10,当这个数为0时,判断跟(正序)比较是否相同. 2.代码展示 #includ ...
- C语言函数、指针应用程序设计——回文数判断and检验子串and仓库库存管理程序
最全C系列题目!从0到管理系统 一.C语言数据类型及输出--体重是否正常.球的体积.计算存银行利息and浮点数长度与精度 二.C语言运算符与表达式--输出逆序数and二进制包含0和1的数量and判断是 ...
- 回文数判断 : C语言
回文数判断 : C语言 判断一个整数是否是回文数.回文数是指正序(从左向右)和倒序(从右向左)读都是一样的整数. 题目解读: 该题将整数转换为字符串再进行判断较为简单(需要开辟新的内存,存在优化的地方 ...
- 【C语言】之实现回文数判断
/** 文件名:palindrome.c* 功能描述:判断一个正整数是否为回文数* 回文数:121 12344321 3443* 编写人:王廷云* 编写日期:2017-1-10 */ #include ...
- C++ 栈实现回文数判断
C++ 栈实现回文数判断 #include<iostream> #include<string> using namespace std; class Point{char d ...
- python回文数判断_python回文数判断
什么是回文数? 有这样一类数,他们顺着看和倒着看是相同的数,例如:12321,1221,2332等,这样的数字就称为:回文数 输入一个5位数,用python判断它是不是回文数.即12321是回文数,个 ...
- python切片,回文数判断
切片: object[start_index : end_index : step] 左闭右开,从start_index到end_index-1,按照step步长得到新的对象. 实现回文数判断: a= ...
- 回文数判断---c++学习day01
1.输入一个数,判断是不是回文数 //判断回文数 #include<iostream> using namespace std; bool symm(unsigned n) {unsign ...
- Python回文数判断
Python回文数判断 我们先来了解一下什么事回文数字,回文数字是指正着读和倒着读都能读的通的数字,那么我们怎么用Python判断1-1000的数字里面有多少回文数呢? l = [i for i in ...
最新文章
- Android 卡片翻转动画效果
- JVM监控-命令行篇
- echarts实现给图例添加单位、百分比,以及图例文字过长显示省略号
- 淘宝客静态单页_单页应用程序的Spring Boot静态Web资源处理
- linux网线连接树莓派,3、树莓派使用网线连接路由器获取网络的讲解
- 如何用 Python 拆分表格并发送邮件?
- 【c++leetcode】翻转链表
- 宇宙最强vscode教程(基础篇)
- 在EF4.1的DBContext中实现事务处理(BeginTransaction)和直接执行SQL语句的示例
- 复盘图像双线性插值推导细节
- 【IoT】产品设计:OEM、ODM、EMS 的区别是什么?
- 为什么阿里 P7 都找不到工作了?
- python3 爬取今日头条文章(巧妙避开as,cp,_signature)
- P3398 仓鼠找sugar(LCA,树剖)
- 一喝到威士忌真是什么烦恼都忘了
- [转]个人知识管理-Web2.0技术下的一个热点
- ERROR: cannot launch node of type [robot_state_publisher/state_publisher]: Cannot locate node of typ
- python3的tkinter登录界面设计+mysql数据库的导入数据
- 这本书能教会你的小孩如何理财
- JAVA毕设合集【20套系统项目】
热门文章
- Word文档上方的横线怎么去掉?
- 跨域BGP/MPLS IP VPN实验(OptionA方式)
- 小心 laravel 模型的 Soft Delete
- 微信小程序开发工具的快捷键
- 加班最勤奋的往往是失败者,他们只是在拼命杀死自己|真实故事
- 《Cisco IOS XR技术精要》一2.2 Cisco IOS XR系统管理器
- babylon.js文档笔记
- 梦幻西游服务器维护查询,梦幻西游2020年6月9日维护公告 新增转换查询功能
- JPEG编解码分析及调试
- 京东最新股权曝光:刘强东持股13.8% 有76.1%投票权