三次過 Lintcode 575 字串解碼

2021-09-17 22:01:21 字數 535 閱讀 7104

給出乙個表示式s,此表示式包括數字,字母以及方括號。在方括號前的數字表示方括號內容的重複次數(括號內的內容可以是字串或另乙個表示式),請將這個表示式展開成乙個字串。

樣例1

輸入: s = abc3[a]

輸出: "abcaaa"

樣例2

輸入: s = 3[2[ad]3[pf]]xyz

輸出: "adadpfpfpfadadpfpfpfadadpfpfpfxyz"

你可以不通過遞迴的方式完成展開嗎?

利用棧解題。注意這裡將數字與字元一起入棧,遇到右括號時將從棧頂到第乙個數字之間的字元出棧組合成字串,然後再出棧第乙個數字設為times, 最**棧times次數的字串,如此往復。

public class solution else if(c == '[')else if(c == ']')

}

三次過 Lintcode 182 刪除數字

給出乙個字串 a,表示乙個 n 位正整數,刪除其中 k 位數字,使得剩餘的數字仍然按照原來的順序排列產生乙個新的正整數。找到刪除 k 個數字之後的最小正整數。n 240,k n 給出乙個字串代表的正整數 a 和乙個整數 k,其中a 178542,k 4 返回乙個字串 12 注意刪除數字的思路,一開始...

三次過 Lintcode 426 恢復IP位址

給乙個由數字組成的字串。求出其可能恢復為的所有ip位址。你的任務就是往這段字串中新增三個點,使它成為乙個合法的ip位址.返回所有可能的ip位址.樣例 1 輸入 25525511135 輸出 255.255.11.135 255.255.111.35 解釋 255.255.111.35 255.255...

三次過 Lintcode 107 單詞拆分 I

給定字串 s 和單詞字典 dict,確定 s 是否可以分成乙個或多個以空格分隔的子串,並且這些子串都在字典中存在。樣例 1 輸入 lintcode lint code 輸出 true 樣例 2 輸入 a a 輸出 true 首先我們要儲存的歷史資訊res i 是表示到字串s的第i個元素為止能不能用字...