[leetcode] Palindrome Number(不使用额外空间)
2024-09-05 04:55:21
本来推断回文串是一件非常easy的事情,仅仅须要反转字符串后在与原字符串相比較就可以。这道题目明白说明不能使用额外的空间。那么使用将其分解连接成字符串的方法便不是可行的。仅仅好採用数学的方式: 每次取最高位和最低位相比較,总的位数能够用一个while先处理出来,循环直至取余和除数相等。
详细见代码:
class Solution {
public:
bool isPalindrome(int x) {
if(x<0) //special due
return false;
if(x<10)
return true;
int curMod=0;
int test=x;
while(test)
{
curMod++;
test/=10;
}
curMod--;// bit num
int left=pow(10,curMod*1.0),right=10;
while(right<=left)
{
if(x%right!=x/left)
return false;
x=x%left,x/=10;
left/=100;
}
return true;
}
};
最新文章
- cpp项目的组织
- UVA1395	Slim Span(枚举最小生成树)
- 已解决:Strict Standards: Non-static method cls_image::gd_version() should not be called statically in...
- 【液晶模块系列基础视频】1.3.iM_TFT30模块简介
- 通过HP Loadrunner VuGen来录制安卓的应用
- Java导出数据为EXCEL的两种方式JXL和POI
- C#:Func的同步、异步调用(转)
- js 书写规范
- OpenCV使用边缘提取、腐蚀、轮廓进行车牌定位
- PHP基础学习(函数一)
- 关于在selenium 中 webdriver 截图操作
- [tkinter]隐藏/销毁控件
- 11 安装已集成HA的树莓派镜像Hassbian
- python--类中的对象方法、类方法、静态方法的区别
- Dagger2 导入项目
- 【leetcode】438. Find All Anagrams in a String
- MySQL两种存储引擎: MyISAM和InnoDB 简单总结
- 如何停止和禁用Linux系统中的不需要的服务
- MySQL从删库到跑路(六)——SQL插入、更新、删除操作
- gitlab 启用HTTPS