leetcode-9 Palindrome Number
2016-03-25 16:29
253 查看
Determine whether an integer is a palindrome. Do this without extra space.
http://blog.csdn.net/hcbbt/article/details/44001229
1.可以先转为字符串,再判断。
2.直接算出回文的数再直接比较。 // 发现问题:回文数会出现溢出情况,所以取int高一个量级的long
//////////////////////////////////////////////////////////////////////////
// start: judge whether it is a palindrome
/************************************************************************/
/* method1: turn to int* then judge */
/************************************************************************/
bool isPalindrome_Convert(int x)
{
int bit[10];
if(x < 0) // 负数则不是
return false;
int idx = 0; // 位数
while(x)
{
bit[idx++] = x%10;
x /= 10;
}
for(int i = 0; i < idx/2; i++)
if(bit[i] != bit[idx-1-i])
return false;
return true;
}
/************************************************************************/
/* method2: find its palindrome and judge whether its' self */
/************************************************************************/
bool isPalindrome_Pair(int x)
{
long long tmpX = (long long)x;
long long pair = 0;
while(tmpX > 0) // > 0 && != 0
{
pair = pair*10 + tmpX%10;
tmpX /= 10;
}
return pair == (long long)x;
}
// end
//////////////////////////////////////////////////////////////////////////
http://blog.csdn.net/hcbbt/article/details/44001229
1.可以先转为字符串,再判断。
2.直接算出回文的数再直接比较。 // 发现问题:回文数会出现溢出情况,所以取int高一个量级的long
//////////////////////////////////////////////////////////////////////////
// start: judge whether it is a palindrome
/************************************************************************/
/* method1: turn to int* then judge */
/************************************************************************/
bool isPalindrome_Convert(int x)
{
int bit[10];
if(x < 0) // 负数则不是
return false;
int idx = 0; // 位数
while(x)
{
bit[idx++] = x%10;
x /= 10;
}
for(int i = 0; i < idx/2; i++)
if(bit[i] != bit[idx-1-i])
return false;
return true;
}
/************************************************************************/
/* method2: find its palindrome and judge whether its' self */
/************************************************************************/
bool isPalindrome_Pair(int x)
{
long long tmpX = (long long)x;
long long pair = 0;
while(tmpX > 0) // > 0 && != 0
{
pair = pair*10 + tmpX%10;
tmpX /= 10;
}
return pair == (long long)x;
}
// end
//////////////////////////////////////////////////////////////////////////
相关文章推荐
- 省市下拉联动插件
- python html格式的pdf转换成pdf文件
- 减少System.out.println的使用
- leetcode-8 String to Integer
- 2016年3月android面试总结(2)
- react-native开源组件react-native-wechat学习
- spring AOP 配置
- C#上机实验(二)
- java平台的常用资源
- Python爬虫:一些常用的爬虫技巧总结
- 提示框显示2秒自动消失
- osx的终端软件iterm2 之 修改外观 和 常用快捷键小结
- HID高级攻击姿势:利用PowerShell脚本进行文件窃取
- JPA & Hibernate 注解
- 关于openGL中glReadPixels接口的一点使用心得
- Android 软件盘始终无法隐藏解决办法
- leetcode-7 Reverse Integer
- UVa 10054 - The Necklace
- python的zeroMQ介绍
- emgucv 画圆弧