leetcode1332

时间:2020-01-26 14:12:48   收藏:0   阅读:78
 1 class Solution:
 2     def isPalindrome(self,s):
 3         n = len(s)
 4         i,j = 0,n-1
 5         while i < j:
 6             if s[i] != s[j]:
 7                 return False
 8             i += 1
 9             j -= 1
10         return True
11 
12     def removePalindromeSub(self, s: str) -> int:
13         n = len(s)
14         if n == 0:
15             return 0
16         if self.isPalindrome(s):
17             return 1
18         else:
19             return 2

算法思路:判断字符串是否是回文。

如果是空字符串,返回0;

如果是回文字符串,返回1;

否则,返回2。解释:第一次将所有的a都移除,第二次将所有的b都移除。因此,对于非回文字符串,最少2次就可以将其变成空串。

 

原文:https://www.cnblogs.com/asenyang/p/12234156.html

评论(0
© 2014 bubuko.com 版权所有 - 联系我们:wmxa8@hotmail.com
打开技术之扣,分享程序人生!