給定乙個編碼字串s
。為了找出解碼字串並將其寫入磁帶,從編碼字串中每次讀取乙個字元
,並採取以下步驟:
現在,對於給定的編碼字串s
和索引k
,查詢並返回解碼字串中的第k
個字母。
示例 1:
輸入:s = "leet2code3", k = 10輸出:"o"解釋:解碼後的字串為 "leetleetcodeleetleetcodeleetleetcode"。示例 2:字串中的第 10 個字母是 "o"。
輸入: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
個字母。
思路:利用題目特性將k縮小。
如leet2ef2e
2 ,4
2,10
若是6,則6-4=2
若是11,則11-10=1
class solution
//cout<}
for(int i=0;iint i=k;
string f;
f+=s[i-1];
return f;
}};
880 索引處的解碼字串
給定乙個編碼字串s。為了找出解碼字串並將其寫入磁帶,從編碼字串中每次讀取乙個字元,並採取以下步驟 現在,對於給定的編碼字串s和索引k,查詢並返回解碼字串中的第k個字母。示例1 輸入 s leet2code3 k 10 輸出 o 解釋 解碼後的字串為 leetleetcodeleetleetcodel...
880 索引處的解碼字串
給定乙個編碼字串 s。為了找出解碼字串並將其寫入磁帶,從編碼字串中每次讀取乙個字元,並採取以下步驟 如果所讀的字元是字母,則將該字母寫在磁帶上。如果所讀的字元是數字 例如 d 則整個當前磁帶總共會被重複寫 d 1 次。現在,對於給定的編碼字串 s 和索引 k,查詢並返回解碼字串中的第 k 個字母。示...
880 索引處的解碼字串
給定乙個編碼字串s。為了找出解碼字串並將其寫入磁帶,從編碼字串中每次讀取乙個字元,並採取以下步驟 現在,對於給定的編碼字串s和索引k,查詢並返回解碼字串中的第k個字母。示例 1 輸入 s leet2code3 k 10輸出 o 解釋 解碼後的字串為 leetleetcodeleetleetcodel...