LeetCode中Palindrome Number的C语言代码

    xiaoxiao2021-03-25  86

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

    代码如下

    bool isPalindrome(int x) { if(x < 0) return false; long answer = 0; int temp = x; while(temp != 0){ answer = answer*10 + temp; temp = temp/10; } if(answer < -2147483648 || answer > 2147483647) return false; return answer == x; } 由于将一个整数颠倒过来,需要进行越界判断,因此answer用了long型变量,但accepted之后,发现这样的做法并不是最优算法,我也还没想到最优算法,如若有优化方法,会在写文章。

    转载请注明原文地址: https://ju.6miu.com/read-33240.html

    最新回复(0)