判断回文整型数

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/teaspring/article/details/17324209

题目来自leetcode, 要求判断一个整型数是否是回文,不使用任何额外空间。

我承认,是“不使用额外空间”这句话让我想到了递归。

一般判断回文字符串是一个一个字符单独比较,但是对于整型数,显然我们有更好的办法。将它从低位到高位颠倒顺序重新排列,如果跟原数一样,那就成了。

bool ispalindrome(int n, int x, int m){
    if(n)
      return ispalindrome(n/10, 10*x + n%10, m);
    else
      return x == m;
}
bool palindromeint(int n){
	return ispalindrome(n, 0, n);
}

怎么样,很精炼吧?而且真的没有额外空间,连一个变量都没有:)

猜你喜欢

转载自blog.csdn.net/teaspring/article/details/17324209