LeetCode #Palindrome Number#
?

?
?
又是个软柿子啊...(主要是今天不知道在哪儿看到一个回文的题目了,然后就特地去LeetCode找了一下,还真有,一次性AC的感觉简直不能再爽)
?
我的Python版本解答:
?
Programmer : EOF
E-mail : jasonleaster@gmail.com
Date : 2015.04.06
File : pn.py
class Solution:
def isPalindrome(self, x):
string = str(x)
length = len(string)
for i in range(0, length):
if string[i] != string[length - i - 1] :
return False
return True
#----------- just for testing ----------
s = Solution()
if s.isPalindrome(123321) :
print is palindrome
?
下面是皓神的C++解答:
皓神用了两种方法做解答...写了两个isPalindrome()的实现.
?
// Source : https://oj.leetcode.com/problems/palindrome-number/ // Author : Hao Chen // Date : 2014-06-18 /********************************************************************************** * * Determine whether an integer is a palindrome. Do this without extra space. * * * Some hints: * * Could negative integers be palindromes? (ie, -1) * * If you are thinking of converting the integer to string, note the restriction of using extra space. * * You could also try reversing an integer. However, if you have solved the problem Reverse Integer, * you know that the reversed integer might overflow. How would you handle such case? * * There is a more generic way of solving this problem. * * **********************************************************************************/ #includeclass Solution { public: bool isPalindrome(int x) { if (x<0) { return false; } int len=1; for (len=1; (x/len) >= 10; len*=10 ); while (x != 0 ) { int left = x / len; int right = x % 10; if(left!=right){ return false; } x = (x%len) / 10; len /= 100; } return true; } bool isPalindrome2(int x) { return (x>=0 && x == reverse(x)); } private: int reverse(int x) { int y=0; int n; while( x!=0 ){ n = x%10; y = y*10 + n; x /= 10; } return y; } }; int main() { Solution s; printf(%d is %d , 0, s.isPalindrome(0) ); printf(%d is %d , -101, s.isPalindrome(-101) ); printf(%d is %d , 1001, s.isPalindrome(1001) ); printf(%d is %d , 1234321, s.isPalindrome(1234321) ); printf(%d is %d , 2147447412, s.isPalindrome(2147447412) ); printf(%d is %d , 2142, s.isPalindrome(2142) ); }
?
?
?
?
?
?