一、題目
1、題目描述
給你一個(gè)僅由?大寫(xiě)?英文字符組成的字符串?
s
?。你可以對(duì)此字符串執(zhí)行一些操作,在每一步操作中,你可以從?
s
?中刪除?任一個(gè)?"AB"
?或?"CD"
?子字符串。通過(guò)執(zhí)行操作,刪除所有?
"AB"
?和?"CD"
?子串,返回可獲得的最終字符串的?最小?可能長(zhǎng)度。注意,刪除子串后,重新連接出的字符串可能會(huì)產(chǎn)生新的?
"AB"
?或?"CD"
?子串。
2、接口描述
?
class Solution {
public:
int minLength(string s) {
}
};
3、原題鏈接
2696. 刪除子串后的字符串最小長(zhǎng)度
二、解題報(bào)告
1、思路分析
當(dāng)成括號(hào)匹配問(wèn)題即可,一次遍歷維護(hù)一個(gè)棧,和棧頂配對(duì)就記錄文章來(lái)源:http://www.zghlxwxcb.cn/news/detail-806212.html
2、復(fù)雜度
時(shí)間復(fù)雜度: O(N) 空間復(fù)雜度:O(N)文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-806212.html
3、代碼詳解
?
class Solution {
public:
int minLength(string s) {
stack<char> st;
int ret = s.size();
for(auto x : s)
{
if(st.size() && x == 'B' && st.top() == 'A')
ret -= 2 , st.pop();
else if(st.size() && x == 'D' && st.top() == 'C')
ret -= 2 , st.pop();
else
st.push(x);
}
return ret;
}
};
到了這里,關(guān)于LeetCode 2696. 刪除子串后的字符串最小長(zhǎng)度的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!