給出乙個表示式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個元素為止能不能用字...