給你乙個字串 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'
學到了乙個新知識:子串行
一開始是懵逼的。。。按題目意思,是要刪除回文子串行,然後再刪除剩下的字串,而且字串只包含a,b所以只有三種情況
1.空字串 返回 0(這裡我的乙個模糊區:字串為空賦值 string str="",裡面不用空格,經常忘記)
2.字串整個都是回文字串,直接刪除整個字串,返回 1
3.字串含有乙個回文字元子串,先刪回文字元子串,再刪剩下的非回文子串,返回2
例子:abbbba
子串行:字串中按序列取一部分 aa
子串: 字串中按固定連續順序取一部分 abbb
class solution
};
(LeetCode 字串 難度簡單 1108題
給你乙個有效的 ipv4 位址 address,返回這個 ip 位址的無效化版本。所謂無效化 ip 位址,其實就是用 代替了每個 示例 1 輸入 address 1.1.1.1 輸出 1 1 1 1 示例 2 輸入 address 255.100.50.0 輸出 255 100 50 0 解題思路 ...
(LeetCode 字串 難度簡單38題
給定乙個正整數 n 1 n 30 輸出外觀數列的第 n 項。注意 整數序列中的每一項將表示為乙個字串。外觀數列 是乙個整數序列,從數字 1 開始,序列中的每一項都是對前一項的描述。前五項如下 1.1 2.11 3.21 4.1211 5.111221 第一項是數字 1 描述前一項,這個數是 1 即 ...
(LeetCode 字串 難度簡單 1455題
給你乙個字串 sentence 作為句子並指定檢索詞為 searchword 其中句子由若干用 單個空格 分隔的單詞組成。請你檢查檢索詞 searchword 是否為句子 sentence 中任意單詞的字首。如果 searchword 是某乙個單詞的字首,則返回句子 sentence 中該單詞所對應...