C 刪除字串中的所有相鄰重複項(簡單題)

2021-10-21 15:32:54 字數 518 閱讀 5799

由於c++中std::string 類本身就提供了類似【入棧】和【出棧】的介面,因此我們直接將需要被返回的字串作為棧即可。我們將字串中的字元逐個入棧時,判斷當前字元是否與棧頂元素相同,相同則讓棧頂元素出棧,並繼續判斷下乙個字元,否則將當前字元入棧,直到遍歷完字串中的所有字元,當前棧內的元素就是最後需要的結果。具體**如下:

class solution  else 

}return sk;}};

在這裡我們需要注意到的地方是for迴圈中的內容for(char& ch:s)即遍歷字串s中的每乙個字元ch表示,其中寫成char ch:schar& ch:s都可以滿足題目,只是後者更快一些,他是對原字元進行比較,前者則需要複製s的副本,然後遍歷字元比較,需要消耗一定的時間。

刪除字串中的所有相鄰重複項

給出由小寫字母組成的字串 s,重複項刪除操作會選擇兩個相鄰且相同的字母,並刪除它們。在 s 上反覆執行重複項刪除操作,直到無法繼續刪除。在完成所有重複項刪除操作後返回最終的字串。答案保證唯一。示例 輸入 abbaca 輸出 ca 解釋 例如,在 abbaca 中,我們可以刪除 bb 由於兩字母相鄰且...

刪除字串中的所有相鄰重複項

給出由小寫字母組成的字串 s,重複項刪除操作會選擇兩個相鄰且相同的字母,並刪除它們。在 s 上反覆執行重複項刪除操作,直到無法繼續刪除。在完成所有重複項刪除操作後返回最終的字串。答案保證唯一。示例 輸入 abbaca 輸出 ca 解釋 例如,在 abbaca 中,我們可以刪除 bb 由於兩字母相鄰且...

23 刪除字串中的所有相鄰重複項

給出由小寫字母組成的字串 s,重複項刪除操作會選擇兩個相鄰且相同的字母,並刪除它們。在 s 上反覆執行重複項刪除操作,直到無法繼續刪除。在完成所有重複項刪除操作後返回最終的字串。答案保證唯一。輸入 abbaca 輸出 ca 解釋 例如,在 abbaca 中,我們可以刪除 bb 由於兩字母相鄰且相同,...