回文系列总结
1332. 删除回文子序列
给你一个字符串
s,它仅由字母'a'和'b'组成。每一次删除操作都可以从s中删除一个回文 子序列。返回删除给定字符串中所有字符(字符串为空)的最小删除次数。
样例
Input:s = "baabb"
Output:2
解释:"baabb" -> "b" -> "". 
先删除回文子序列 "baab",然后再删除 "b"。
也可以 
"baabb" -> "bbb" -> ""
思路
因为只由 a 和 b 组成,所以对于任何一个字符串,最多只需要两次就可以完全删除。可以第一次删除全A,第二次删除全B。只需要分为三种情况:空字符是 0,回文串返回 1,非回文串返回 2
代码
class Solution:
    def removePalindromeSub(self, s: str) -> int:
        if not s: return 0 # 空字符
        if s == s[::-1]: # 回文串
            return 1
        else:  # 非回文串
            return 2