首页 > 代码库 > [小米]2015小米校招之回文数判断
[小米]2015小米校招之回文数判断
【题目】
大家对回文串不陌生吧?一个字符串从前看和从后看如果一样的话,就是回文串,比如“上海自来水来自海上”就是一个回文串。现在我们的问题来了,把一个数字看成字符串,问它是不是一个回文数?时间复杂度和空间复杂度越低的算法,得分越高。
c++:
bool isPalindromeNumber(long num);
java:
boolean isPalindromeNumber(long num);
【代码】
#include <iostream> using namespace std; bool IsPalindromeNumber(long num){ long reverseNum = 0; long temp = num; while(temp > 0){ reverseNum = reverseNum * 10 + temp % 10; temp /= 10; } if(reverseNum == num){ return true; } else{ return false; } } int main(){ long num; cin>>num; bool result = IsPalindromeNumber(num); if(result){ cout<<num<<" is a palindrome number"<<endl; } else{ cout<<num<<" is not a palindrome number"<<endl; } return 0; }
【拓展1】字符串判断回文
bool IsPalindromeNumber(string num){ int len = num.length(); for(int i = 0;i < len/2;i++){ if(num[i] != num[len-1-i]){ return false; } } return true; }
bool IsPalindromeNumber(string num){ int len = num.length(); for(int i = 0,j = len-1;i < j;i++,j--){ if(num[i] != num[j]){ return false; } } return true; }
求有关回文的笔试题,可以给我发个链接,谢谢......
[小米]2015小米校招之回文数判断
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。