LeetCode 009 Palindrome Number
来源:互联网 发布:微信淘宝客怎么加人 编辑:程序博客网 时间:2024/05/17 08:59
【题目】
Determine whether an integer is a palindrome. Do this without extra space.
【题意】
题意判断一个整数是否是回文数
注意一下几点:
1. 不能用额外的空间
2. 负数不是回文数
【思路1】
依次比较首位值,需要注意处理类似1002001这样的数,当比较完首位值之后余下的数变成200, 2之前的两个0会自动清除。【代码】
class Solution {public:int _size(int x){int size = 0;int tx = x;while(tx){tx /= 10;size++;}return size;} bool isPalindrome(int x) {if(x<0)return false;else if(x>=0 && x<=9)return true;else{int size = _size(x);int head = x/(int)pow(10,size-1);int tail = x%10;if(head != tail){return false;}x = x%(int)pow(10,size-1);x = x/10;int newsize = _size(x);if(size-newsize > 2)if(x%(int)pow(10, size-newsize-2) == 0) //考虑数后跟着一串0的情况x = x/(int)pow(10, size-newsize-2);elsereturn false;return isPalindrome(x);} }};
【思路2】
先生成原数的reverse Number, 然后跟原数比较【代码】
class Solution {public: bool isPalindrome(int x) { long long reverseX=0; if(x<0)return false; int xcopy=x; while(xcopy){ //将整数倒置 reverseX=reverseX*10+xcopy%10; xcopy/=10; } if(reverseX>INT_MAX)return false; //判断倒置后的结果是否越界 if(x==(int)reverseX)return true; //判断倒置结果和原数是否相等 return false; }};
0 0
- LeetCode 009 Palindrome Number
- LeetCode 009 Palindrome Number
- [LeetCode]-009-Palindrome Number
- LeetCode 009 Palindrome Number
- 009 Palindrome Number [Leetcode]
- [LeetCode]009-Palindrome Number
- LeetCode 009 Palindrome Number
- leetcode Palindrome Number 009
- leetcode 009 Palindrome Number
- LeetCode 009 Palindrome Number
- leetcode-009-Palindrome Number
- LeetCode-009 Palindrome Number
- [LeetCode OJ][009]Palindrome Number
- 【LeetCode OJ 009】Palindrome Number
- leetcode 009 —— Palindrome Number
- leetcode之路009 Palindrome Number
- LeetCode: Palindrome Number
- LeetCode Palindrome Number
- DirectX 9.0 (2) 矩阵
- win2003 IIS网站权限设置
- Shell脚本中的export
- asp.net 导出Table到Excel,数字前的加号无法显示的问题
- Struts2+Spring2+Hibernate3框架中JQuery ajax的实现
- LeetCode 009 Palindrome Number
- iis下创建ftp站点,不能登录问题
- 让员工更敬业的7大要素
- android之onnewintent
- 判断是否有权限访问相机,相册,定位
- javascript自学之路---变量基础
- 自己用的快捷键
- Android 创建桌面快捷方式
- Bad Smell(代码的坏味道)