IOS 算法(基礎(chǔ)篇) ----- 比較含退格的字符串

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

示例 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”。

解題思路

這種方法比較好理解, 通過(guò)插入移出處理字符串
設(shè)置一個(gè)空字符串作為容器, 判斷無(wú)#插入, 有#移出最后一個(gè)字符串
最后判斷處理完的字符串是否相等

代碼

    func backspaceCompare(_ S: String, _ T: String) -> Bool {
        return handle(S) == handle(T)
    }
    func handle(_ string: String) -> String {
        var a = ""
        for i in string {
            if i == "#" {
                a.popLast()
            } else {
                a.append(i)
            }
        }
        return a
    }

題目來(lái)源:力扣(LeetCode) 感謝力扣爸爸 :)
IOS 算法合集地址

?著作權(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)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

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