LeetCode中Palindrome Number的C语言代码

来源:互联网 发布:淘宝收费推广有哪些 编辑:程序博客网 时间:2024/05/22 01:45

由于要判断一个int型的整数是否是回文数,又不能增加额外的空间,所以用队列和用栈的做法不太可行,我的想法是把这个数倒过来,与输入进行比较,相同,则输入是回文数

代码如下

bool isPalindrome(int x) {    if(x < 0)        return false;    long answer = 0;    int temp = x;    while(temp != 0){        answer = answer*10 + temp%10;        temp = temp/10;    }    if(answer < -2147483648 || answer > 2147483647)        return false;        return answer == x;}

由于将一个整数颠倒过来,需要进行越界判断,因此answer用了long型变量,但accepted之后,发现这样的做法并不是最优算法,我也还没想到最优算法,如若有优化方法,会在写文章。

1 0
原创粉丝点击