2015小米笔试第一题
大家对回文串不陌生吧?一个字符串从前看和从后看如果一样的话,就是回文串。比如“上海自来水来自海上”就是一个回文串。现在我们的问题来了,把一个数字看成字符串,问它是不是一个回文数?这么简单的题目对想要成为小米工程师的你来说肯定不是问题。不过提醒一下哦:时间复杂度和空间复杂度越低的算法,得分越高。
C++:
bool isPalindromeNumber(long num)
Java:
boolean isPalindromeNumber(long num)
示例:12321 -> true
3 -> true
133434-> false
#include<iostream>
using namespace std;
bool isPalindromeNumber(long num);
int main()
{
long num;
cin>>num;
if(isPalindromeNumber(num))
cout<<"ture"<<endl;
else
cout<<"false"<<endl;
return 0;
}
bool isPalindromeNumber(long num)
{
if(num<0)
return false;
long shang;
long lastshang;
int yushu;
long huiwenshu;
huiwenshu=0;
shang=num;
lastshang=num;
while(shang!=0)
{
shang=lastshang/10;
yushu=lastshang%10;
lastshang=shang;
huiwenshu=huiwenshu*10+yushu;
}
return huiwenshu==num;
}