解题思路:
一道看似麻烦实则特别简单的题目。首先注意字符串只由a和b组成,其次是回文子序列的定义,既然只是跟顺序有关,而非连续位置,那么最多最小删除次数也就是2(去除全a,再去除全b),所以只要判断完整的序列是否是回文,然后返回1或者2即可,代码如下:
class Solution {
public:
int removePalindromeSub(string s) {
int n = s.size();
for(int i = 0; i < n / 2; i ++) {
if(s[i] != s[n - i - 1]) {
return 2;
}
}
return 1;
}
};