給出由小寫字母組成的字串 s,重複項刪除操作會選擇兩個相鄰且相同的字母,並刪除它們。
在 s 上反覆執行重複項刪除操作,直到無法繼續刪除。
在完成所有重複項刪除操作後返回最終的字串。答案保證唯一。
示例:輸入:"abbaca"
輸出:"ca"
解釋:例如,在 "abbaca" 中,我們可以刪除 "bb" 由於兩字母相鄰且相同,這是此時唯一可以執行刪除操作的重複項。之後我們得到字串 "aaca",其中又只有 "aa" 可以執行重複項刪除操作,所以最後的字串為 "ca"。
其實這種用棧的題目還挺少見的, 我一開始想的是用雙向鍊錶,害,還是孤陋寡聞了。
用棧,如果棧頂和即將比對的元素一致的話, 就拿出原有元素,反之入棧。
最後可以用兩個棧顛倒一下拿到結果。
public static string removeduplicates(string s)
else
else }}
string result = "";
stackstack2 = new stack<>();
while (!stack.isempty())
while (!stack2.isempty())
return result;
}
刪除字串中的所有相鄰重複項
給出由小寫字母組成的字串 s,重複項刪除操作會選擇兩個相鄰且相同的字母,並刪除它們。在 s 上反覆執行重複項刪除操作,直到無法繼續刪除。在完成所有重複項刪除操作後返回最終的字串。答案保證唯一。示例 輸入 abbaca 輸出 ca 解釋 例如,在 abbaca 中,我們可以刪除 bb 由於兩字母相鄰且...
23 刪除字串中的所有相鄰重複項
給出由小寫字母組成的字串 s,重複項刪除操作會選擇兩個相鄰且相同的字母,並刪除它們。在 s 上反覆執行重複項刪除操作,直到無法繼續刪除。在完成所有重複項刪除操作後返回最終的字串。答案保證唯一。輸入 abbaca 輸出 ca 解釋 例如,在 abbaca 中,我們可以刪除 bb 由於兩字母相鄰且相同,...
1047 刪除字串中的所有相鄰重複項
刪除字串中的所有相鄰重複項 給出由小寫字母組成的字串 s,重複項刪除操作會選擇兩個相鄰且相同的字母,並刪除它們。在 s 上反覆執行重複項刪除操作,直到無法繼續刪除。在完成所有重複項刪除操作後返回最終的字串。答案保證唯一。示例 輸入 abbaca 輸出 ca 解釋 例如,在 abbaca 中,我們可以...