首页 > 编程语言 > 详细

leetcode Palindrome Number Python

时间:2014-10-15 17:30:02      阅读:294      评论:0      收藏:0      [点我收藏+]

题目: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 True
21                 else:
22                     return False
23             else:
24                 mid=len(tmp_str)/2
25                 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 True
30                 else:
31                     return Fals

leetcode Palindrome Number Python

原文:http://www.cnblogs.com/echo-lsh/p/4026684.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!