844. 比較含退格的字符串(Python)

題目

難度:★★☆☆☆
類(lèi)型:棧,字符串

給定 S 和 T 兩個(gè)字符串,當(dāng)它們分別被輸入到空白的文本編輯器后,判斷二者是否相等,并返回結(jié)果。 # 代表退格字符。

提示
1 <= S.length <= 200
1 <= T.length <= 200
S 和 T 只含有小寫(xiě)字母以及字符 '#'。

示例

示例 1
輸入:S = "ab#c", T = "ad#c"
輸出:true
解釋?zhuān)篠 和 T 都會(huì)變成 “ac”。

示例 2
輸入:S = "ab##", T = "c#d#"
輸出:true
解釋?zhuān)篠 和 T 都會(huì)變成 “”。

示例 3
輸入:S = "a##c", T = "#a#c"
輸出:true
解釋?zhuān)篠 和 T 都會(huì)變成 “c”。

示例 4
輸入:S = "a#c", T = "b"
輸出:false
解釋?zhuān)篠 會(huì)變成 “c”,但 T 仍然是 “b”。

解答

我們可以使用棧結(jié)構(gòu)處理退格的問(wèn)題,按照順序?qū)⒆址饌€(gè)入棧,如果遇到“#”則將棧頂元素彈出,最后將棧中留下來(lái)的元素按照順序連接成字符串即可。

class Solution:
    def backspaceCompare(self, S: str, T: str) -> bool:
        def remove_backspace(s):
            res = []
            for c in s:
                if c == '#' and res:
                    res.pop()
                else:
                    res.append(c)
            return ''.join(res)
        return remove_backspace(S) == remove_backspace(T)

如有疑問(wèn)或建議,歡迎評(píng)論區(qū)留言~

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀(guān)點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 題目 給定 S 和 T 兩個(gè)字符串,當(dāng)它們分別被輸入到空白的文本編輯器后,判斷二者是否相等,并返回結(jié)果。 # 代表...
    sixkery閱讀 700評(píng)論 0 0
  • 一、Python簡(jiǎn)介和環(huán)境搭建以及pip的安裝 4課時(shí)實(shí)驗(yàn)課主要內(nèi)容 【Python簡(jiǎn)介】: Python 是一個(gè)...
    _小老虎_閱讀 6,356評(píng)論 0 10
  • 題目描述:給定 S 和 T 兩個(gè)字符串,當(dāng)它們分別被輸入到空白的文本編輯器后,判斷二者是否相等,并返回結(jié)果。 # ...
    胡子先生丶閱讀 437評(píng)論 0 1
  • 官網(wǎng) 中文版本 好的網(wǎng)站 Content-type: text/htmlBASH Section: User ...
    不排版閱讀 4,737評(píng)論 0 5
  • 第5章 引用類(lèi)型(返回首頁(yè)) 本章內(nèi)容 使用對(duì)象 創(chuàng)建并操作數(shù)組 理解基本的JavaScript類(lèi)型 使用基本類(lèi)型...
    大學(xué)一百閱讀 3,691評(píng)論 0 4

友情鏈接更多精彩內(nèi)容