力扣簡單專欄 1544 整理字串

2021-10-22 05:54:29 字數 1005 閱讀 3206

給你乙個由大小寫英文本母組成的字串 s 。

乙個整理好的字串中,兩個相鄰字元 s[i] 和 s[i+1],其中 0<= i <= s.length-2 ,要滿足如下條件:

若 s[i] 是小寫字元,則 s[i+1] 不可以是相同的大寫字元。

若 s[i] 是大寫字元,則 s[i+1] 不可以是相同的小寫字元。

請你將字串整理好,每次你都可以從字串中選出滿足上述條件的 兩個相鄰 字元並刪除,直到字串整理好為止。

請返回整理好的 字串 。題目保證在給出的約束條件下,測試樣例對應的答案是唯一的。

示例 1:

輸入:s = 「leeeetcode」

輸出:「leetcode」

解釋:無論你第一次選的是 i = 1 還是 i = 2,都會使 「leeeetcode」 縮減為 「leetcode」 。

示例 2:

輸入:s = 「abbacc」

輸出:""

解釋:存在多種不同情況,但所有的情況都會導致相同的結果。例如:

「abbacc」 --> 「aacc」 --> 「cc」 --> 「」

「abbacc」 --> 「abba」 --> 「aa」 --> 「」

示例 3:

輸入:s = 「s」

輸出:「s」

1 <= s.length <= 100

s 只包含小寫和大寫英文本母

解題關鍵:

設計乙個棧,棧空或插入元素與棧頂相同或和棧頂一起轉小寫後不同就入棧,否則出棧。

思路:凡是涉及每兩個相同元素就刪除的題目要想到用棧來解決。本題非常簡單,解題關鍵即演算法。如果你熟悉asc表,也可以用加減32的方法判定字母的大小寫。

偽**:

class

solution

return stk;

}}

class

solution

return stk;}}

;

字串 簡單 1544 整理字串

題目 給你乙個由大小寫英文本母組成的字串 s 乙個整理好的字串中,兩個相鄰字元 s i 和 s i 1 其中 0 i s.length 2 要滿足如下條件 若 s i 是小寫字元,則 s i 1 不可以是相同的大寫字元。若 s i 是大寫字元,則 s i 1 不可以是相同的小寫字元。請你將字串整理好...

leetcode 1544 整理字串

給你乙個由大小寫英文本母組成的字串 s 乙個整理好的字串中,兩個相鄰字元 s i 和 s i 1 其中 0 i s.length 2 要滿足如下條件 若 s i 是小寫字元,則 s i 1 不可以是相同的大寫字元。若 s i 是大寫字元,則 s i 1 不可以是相同的小寫字元。請你將字串整理好,每次...

力扣 字串解碼

給定乙個經過編碼的字串,返回它解碼後的字串。編碼規則為 k encoded string 表示其中方括號內部的 encoded string 正好重複 k 次。注意 k 保證為正整數。你可以認為輸入字串總是有效的 輸入字串中沒有額外的空格,且輸入的方括號總是符合格式要求的。此外,你可以認為原始資料不...