Determine whether an integer is a palindrome. Do this without extra space.
2015-06-06 01:10
441 查看
问题重述:
Determine whether an integer is a palindrome. Do this without extra space.解答
注意3个问题1)负数是不是回文数字:不是,因为-123321中,没有和符号对称的回文。
2)如果采用倒转整数的方法,倒转后是否超出边界.
3)边界问题:输入的数字是否超出边界。
class Solution { public: boolisPalindrome(int x) { //判断正负 if(x < 0) return false; x= abs(x); if(x > 2147483647) return false; longlong temp = x; longlong result = 0; while(temp){ result*= 10; result+= temp % 10; temp= temp / 10; } if(result > 2147483647) return false; if((int)result == x) return true; elsereturn false; } };
经过验证,时间效率都符合要求,Accepted.
相关文章推荐
- 归并排序、二路归并排序
- UITextField 光标的位置获取和设置
- 无法打开Android SDK Manager的解决办法
- 树莓派使用安装程序静默安装Rasbian
- javascript在chrome浏览器中无法刷新的问题
- 四种GCC内置位运算函数
- 翻译 - NodeJS错误处理最佳实践
- C/C++心得-面向对象
- 伪造成长计划之二
- 如何你是一个教育产品设计者 你该如何设计这个产品?
- uboot2011-06 之 make 初体验(四)
- HotSpotVM 线程实现浅析
- Activity进入与退出的动画
- 在android用Get方式发送http请求
- activity_main.xml: java.lang.NullPointerException
- activity_main.xml: java.lang.NullPointerException
- Bash内置命令exec和重定向
- 三、后台执行命令
- redis详解
- 常用算法和数据结构的复杂度速查表