求一个整数是否是回文(正着念和反着念都一样)
2016-06-22 00:18
295 查看
要求:不需要额外的空间。
分析:
1、负整数是回文? (例如,-1)(NO)
2、如果你正在考虑的整数转换为字符串,请注意使用额外空间的限制。
3、可以尝试扭转一个整数。前提是你已经解决了这个问题“反向整型”颠倒整数可能溢出。
新思路:
不断地取第一位和最后一位(10 进制下)进行比较,相等则取第二位和倒数第二位,直到完成比较或者中途找到了不一致的位。
CODE
分析:
1、负整数是回文? (例如,-1)(NO)
2、如果你正在考虑的整数转换为字符串,请注意使用额外空间的限制。
3、可以尝试扭转一个整数。前提是你已经解决了这个问题“反向整型”颠倒整数可能溢出。
新思路:
不断地取第一位和最后一位(10 进制下)进行比较,相等则取第二位和倒数第二位,直到完成比较或者中途找到了不一致的位。
CODE
#define _CRT_SECURE_NO_WARNINGS #include<iostream> using namespace std; bool IsPalindrome(int x) { if (x < 0) { return false; } int divsion = 1; while (x / divsion >= 10) { divsion *= 10; } while (x) { int tmp = x/divsion; if (tmp == x % 10) { x = x%divsion / 10;//将比较过的最高位去掉得到下一次要比较的 divsion /= 100; } else { return false; } } return true; } void test() { int x = 12344321; cout << IsPalindrome(x) << endl; } int main() { test(); system("pause"); return 0; }
相关文章推荐
- HDU 1086 (平面几何 线段求交)
- 用CXF编写基于spring的web service 并添加cxf日志拦截器和自定义拦截器
- 树中两个结点的最低公共祖先(超全解&&拓展)
- Volley 请求返回数据中文出现乱码
- Java反射机制调用private类型的构造方法
- 浅谈C语言中的强符号、弱符号、强引用和弱引用
- 编码转换
- c# 编码转换
- 旋转动画(360度一直转)
- Docker安装完启动时提示Failed to start docker.service: Unit docker.service is masked.
- 第五章:创建DbContext
- HDU 5695 Gym Class
- 使用CLion单步调试Caffe
- 专题四 第三个题
- RxJava学习笔记---简单使用
- Mac系统下, Hdoop 2.6.2 + Hive 2.0.1 配置
- 【 学习笔记 】memcached基础知识
- C# Get/Post 模拟提交
- 利用 Android 手机打造来电通知计划
- HDU-3507-Print Article-斜率优化-DP