題目描述:
給你乙個字串 s,它僅由字母 『a』 和 『b』 組成。每一次刪除操作都可以從 s 中刪除乙個回文 子串行。
返回刪除給定字串中所有字元(字串為空)的最小刪除次數。
「子串行」定義:如果乙個字串可以通過刪除原字串某些字元而不改變原字元順序得到,那麼這個字串就是原字串的乙個子串行。
「回文」定義:如果乙個字串向後和向前讀是一致的,那麼這個字串就是乙個回文。
示例 1:
輸入:s = 「ababa」
輸出:1
解釋:字串本身就是回文序列,只需要刪除一次。
示例 2:
輸入:s = 「abb」
輸出:2
解釋:「abb」 -> 「bb」 -> 「」.
先刪除回文子串行 「a」,然後再刪除 「bb」。
示例 3:
輸入:s = 「baabb」
輸出:2
解釋:「baabb」 -> 「b」 -> 「」.
先刪除回文子串行 「baab」,然後再刪除 「b」。
示例 4:
輸入:s = 「」
輸出:0
0 <= s.length <= 1000
s 僅包含字母 『a』 和 『b』
方法1:
主要思路:
(1)若是字串為空,則返回0;
(2)若是字串為回文串,則返回1;
(3)否則,由於字串只是有a和b兩種字元組成,而這裡可以刪除的是子串行,故可以一次刪除所有的a,再一次刪除所有的b即可,故返回2;
class
solution
//判斷是否是回文字串
int left=0;
int right=s.
size()
-1;while
(left++left;
--right;
}//若是回文字串,則返回1
return1;
}};
1332 刪除回文子串行
給你乙個字串 s,它僅由字母 a 和 b 組成。每一次刪除操作都可以從 s 中刪除乙個回文 子串行。返回刪除給定字串中所有字元 字串為空 的最小刪除次數。子串行 定義 如果乙個字串可以通過刪除原字串某些字元而不改變原字元順序得到,那麼這個字串就是原字串的乙個子串行。回文 定義 如果乙個字串向後和向前...
問題 D 刪除回文子串行
這是營長的一題簽到題 免費送給大家 給你乙個字串 s,它僅由字母 a 和 b 組成。每一次刪除操作都可以從 s 中刪除乙個回文子串行。輸出刪除給定字串中所有字元 直到字串為空 的最小刪除次數。子串行 定義 如果乙個字串可以通過刪除原字串某些字元而不改變原字元順序得到,那麼這個字串就是原字串的乙個子串...
最長回文子串行 回文子串行個數
主要內容 1 什麼是回文?2 字元子串和字元子串行的區別 3 最長回文子串行的思路和 4 回文子串行個數的思路和 回文指的是正讀和反讀都一樣的字串,如aba,abba等 字元字串指的是字串中連續的n個字元 如palindrome中,pa,alind,drome等都屬於它的字串 而字元子串行指的是字串...