您的位置:首页 > 其它

[小米2015校招笔试]回文数

2014-09-28 19:53 281 查看

题目描述

大家对回文串不陌生吧?一个字符串从前看和从后看如果一样的话,就是回文串,比如“上海自来水来自海上”就是一个回文串。现在我们的问题来了,把一个数字看成字符串,问它是不是一个回文数?时间复杂度和空间复杂度越低的算法,得分越高。

c++:

bool isPalindromeNumber(long num);

java:

boolean isPalindromeNumber(long num);

解题思路

将long转换为字符串,从头和尾向中间扫描即可

代码

/**
* 判断一个数字是否是回文数字
*
* @param num
* @return
*/
public boolean isPalindromeNumber(long num) {
String s = Long.toString(num);
int head = 0, tail = s.length() - 1;
while (head <= tail && s.charAt(head) == s.charAt(tail)) {
head++;
tail--;
}
if (head < tail) {
return false;
}
return true;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: