题目描述
一次只能删一个回文串子串。问删几步能把这个只含'a'
和'b'
的字符串清空。
算法
数学特性。题目真八太行、只有'a'
和'b'
,所以只要判断原数组是否是回文串就好了。
是的话,一步删除,不是的话,两步删除。(特判一下lc特色的空,0步, [摊手])
(把大象放进冰箱需要几步呢0-0..)
int removePalindromeSub(string s) {
int n = s.size();
if (!n) return 0;
if (check(s)) return 1;
else return 2;
}
bool check(string s){
int n = s.size();
for (int i = 0; i < n / 2; i++)
if (s[i] != s[n - i - 1]) //如果从前数和从后数发现不一样,就不是回文数
return false;
return true;
}