給定乙個編碼字串 s。為了找出解碼字串並將其寫入磁帶,從編碼字串中每次讀取乙個字元,並採取以下步驟:
如果所讀的字元是字母,則將該字母寫在磁帶上。
如果所讀的字元是數字(例如 d),則整個當前磁帶總共會被重複寫 d-1 次。
現在,對於給定的編碼字串 s 和索引 k,查詢並返回解碼字串中的第 k 個字母。
示例 1:
輸入:s = "leet2code3", k = 10
輸出:"o"
解釋:解碼後的字串為 "leetleetcodeleetleetcodeleetleetcode"。
字串中的第 10 個字母是 "o"。
示例 2:
輸入:s = "ha22", k = 5
輸出:"h"
解釋:解碼後的字串為 "hahahaha"。第 5 個字母是 "h"。
示例 3:
輸入:s = "a2345678999999999999999", k = 1
輸出:"a"
解釋:解碼後的字串為 "a" 重複 8301530446056247680 次。第 1 個字母是 "a"。
2 <= s.length <= 100
s 只包含小寫字母與數字 2 到 9 。
s 以字母開頭。
1 <= k <= 10^9
解碼後的字串保證少於 2^63 個字母。
class solution
else
else curlen--;}}
return ans;
}};
leetcode880 索引處的解碼字串
題目 思路 看到 資料範圍 解碼後的字串保證少於2 63個字母 單純地拼接字串不實際,即使不考慮時間問題,就連記憶體也會爆掉,所以應該是找規律,找規律最基本的就是找迴圈節 比如說abc3d4,其中有 a ab abc abc abc abc abc abc abcd abcabcabcd.abcab...
880 索引處的解碼字串
給定乙個編碼字串s。為了找出解碼字串並將其寫入磁帶,從編碼字串中每次讀取乙個字元,並採取以下步驟 現在,對於給定的編碼字串s和索引k,查詢並返回解碼字串中的第k個字母。示例 1 輸入 s leet2code3 k 10輸出 o 解釋 解碼後的字串為 leetleetcodeleetleetcodel...
880 索引處的解碼字串
給定乙個編碼字串s。為了找出解碼字串並將其寫入磁帶,從編碼字串中每次讀取乙個字元,並採取以下步驟 現在,對於給定的編碼字串s和索引k,查詢並返回解碼字串中的第k個字母。示例1 輸入 s leet2code3 k 10 輸出 o 解釋 解碼後的字串為 leetleetcodeleetleetcodel...