首页 > 代码库 > leetcode Palindrome Number Python
leetcode Palindrome Number Python
题目:Determine whether an integer is a palindrome. Do this without extra space.
刚开始看到题目的时候想着用栈来处理,每进来一个数与栈顶元素比较相同则栈顶元素处栈,不同则元素入栈,最后栈为空或剩一个数为真,我是以“1234321”来考虑的,但是提交的时候发现存在“100”此种情况,因此分为两种类型来处理,奇数个数和偶数个数。
放了十一放的一直心不在焉的,怕累没出去玩,呆着似乎更累。师兄师姐都出去找工作啦,God bless them。
代码如下:
1 class Solution: 2 # @return a boolean 3 def isPalindrome(self, x): 4 if(x<0): 5 return False 6 elif(0<=x<10): 7 return True 8 else: 9 stack=[]10 tmp_str=str(x)11 if(len(tmp_str)%2==0):12 for i in xrange(len(tmp_str)):13 if(len(stack)==0):14 stack.append(tmp_str[i])15 elif(stack[-1]==tmp_str[i]):16 del(stack[-1])17 else:18 stack.append(tmp_str[i])19 if(len(stack)==0):20 return True21 else:22 return False23 else:24 mid=len(tmp_str)/225 tmp_a=tmp_str[0:mid]26 end=len(tmp_str)27 tmp_b=tmp_str[mid+1:end]28 if(tmp_a==tmp_b[::-1]):29 return True30 else:31 return Fals
leetcode Palindrome Number Python
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。