码迷,mamicode.com
首页 > 编程语言 > 详细

leetcode Palindrome Number Python

时间:2014-10-15 19:45:31      阅读:249      评论:0      收藏:0      [点我收藏+]

标签:style   blog   color   io   os   for   sp   div   on   

题目: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

标签:style   blog   color   io   os   for   sp   div   on   

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

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!