华为面试 手写代码 判断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:华为的面试主要问的是项目,当他对你的项目没有什么兴趣的时候才会考考你这样的题!
其实刚看到这道题时,我们本能的想到的是转换成字符串进行比较,这么做肯定能做出来,但是就丧失了这道题的意义,这道题其实是一道简单题。
我想到的思路是把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:华为的面试主要问的是项目,当他对你的项目没有什么兴趣的时候才会考考你这样的题!
相关文章推荐
- leetcode 9 给一个int类型的数字,判断是否是回文数
- 判断两个int类型的整数相加,相减是否溢出的C语言代码
- 【C编程练习】2013华为校园招聘机试题目题5:将一个int类型的数字转化为字符串,并判断有无重复字符串(长度应大于2)有返回1,无返回2
- C++代码札记(四)判断一个数是否为回文数
- Mybatis判断int类型是否为空
- palindrome_number判断int是否是回文
- 【华为面试题】给定一个数字(整数),判断它是否回文
- 判断一个点是否在三个点组成的三角形内 java 代码 面试经典
- 【LeetCode008-009算法/编程练习C++】string转int(atoi),判断数字是否是回文
- 判断C#中的字符串是否是数字,如果是转换成int类型
- unity 判断输入框输入的是否是int类型
- C# 判断字符串是否int类型
- 判断一个long类型正整数是否是2的n次方——华为笔试归来
- [面试]——用一行代码判断两矩形是否相交
- 判断一个数 是否是回文数 C语言代码!
- 判断一个int 型整数 是否为回文数
- 判断输入是否为空,获得输入类型的JS代码
- .Net判断一个对象是否为数值类型探讨总结(高营养含量,含最终代码及跑分)
- 判断int类型是否为空
- Mybatis判断int类型是否为空