LeetCode 1209. 删除字符串中的所有相邻重复项 II(栈)
生活随笔
收集整理的這篇文章主要介紹了
LeetCode 1209. 删除字符串中的所有相邻重复项 II(栈)
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
1. 題目
給你一個字符串 s,「k 倍重復項刪除操作」將會從 s 中選擇 k 個相鄰且相等的字母,并刪除它們,使被刪去的字符串的左側(cè)和右側(cè)連在一起。
你需要對 s 重復進行無限次這樣的刪除操作,直到無法繼續(xù)為止。
在執(zhí)行完所有刪除操作后,返回最終得到的字符串。
本題答案保證唯一。
示例 1: 輸入:s = "abcd", k = 2 輸出:"abcd" 解釋:沒有要刪除的內(nèi)容。示例 2: 輸入:s = "deeedbbcccbdaa", k = 3 輸出:"aa" 解釋: 先刪除 "eee" 和 "ccc",得到 "ddbbbdaa" 再刪除 "bbb",得到 "dddaa" 最后刪除 "ddd",得到 "aa"示例 3: 輸入:s = "pbbcggttciiippooaais", k = 2 輸出:"ps"提示: 1 <= s.length <= 10^5 2 <= k <= 10^4 s 中只含有小寫英文字母。來源:力扣(LeetCode)
鏈接:https://leetcode-cn.com/problems/remove-all-adjacent-duplicates-in-string-ii
著作權(quán)歸領扣網(wǎng)絡所有。商業(yè)轉(zhuǎn)載請聯(lián)系官方授權(quán),非商業(yè)轉(zhuǎn)載請注明出處。
2. 棧解題
- 將當前字符和其連續(xù)的個數(shù)存入棧中
- 個數(shù)達到 k 時出棧 k 個
- 優(yōu)化上面程序:相同的不必壓棧了,直接改pair的second計數(shù)+1,減少壓棧,彈棧時間
總結(jié)
以上是生活随笔為你收集整理的LeetCode 1209. 删除字符串中的所有相邻重复项 II(栈)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: LeetCode 725. 分隔链表
- 下一篇: LeetCode 63. 不同路径 II