您的位置:首页 > 职场人生

华为面试 手写代码 判断int类型的数是否是回文

2016-08-24 21:02 246 查看
举个例子 123321就是回文,同样12321也是,但是123421不是。

其实刚看到这道题时,我们本能的想到的是转换成字符串进行比较,这么做肯定能做出来,但是就丧失了这道题的意义,这道题其实是一道简单题。

我想到的思路是把int类型的数倒过来,和原来比较是否相等就可以,我们需要做的只是把这个数倒过来,那就每次对10取余就可以啦

 直接上代码吧!

#include<iostream>
using namespace std;

int main()
{
int num,tmp;
int reverse = 0;

cin >> num;

if (num < 0)
{
num = -num;
}

tmp = num;

while (tmp != 0)
{
reverse = reverse * 10 + tmp % 10;
tmp /= 10;
}

if (num == reverse)
{
cout << "true" << endl;
}
else
{
cout << "false" << endl;
}

return 0;
}

ps:华为的面试主要问的是项目,当他对你的项目没有什么兴趣的时候才会考考你这样的题!
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: