167 字串解碼

2021-09-25 07:22:55 字數 1325 閱讀 1109

題目描述:

給定乙個經過編碼的字串,返回它解碼後的字串。

編碼規則為: k[encoded_string],表示其中方括號內部的 encoded_string 正好重複 k 次。注意 k 保證為正整數。

你可以認為輸入字串總是有效的;輸入字串中沒有額外的空格,且輸入的方括號總是符合格式要求的。

此外,你可以認為原始資料不包含數字,所有的數字只表示重複的次數 k ,例如不會出現像 3a 或 2[4] 的輸入。

示例:s = 「3[a]2[bc]」, 返回 「aaabcbc」.

s = 「3[a2[c]]」, 返回 「accaccacc」.

s = 「2[abc]3[cd]ef」, 返回 「abcabccdcdcdef」.

雖然分類是屬於深度,但是我用棧實現了,比較冗餘

class solution else if (tem == ']') 

if(stack.isempty())

}else

timebuilder.reverse();

int temtime = integer.valueof(new string(timebuilder));

int x = 0;

while (x ++ < temtime) }}

}else

} stringbuilder sbuilder = new stringbuilder();

while (!stack.isempty())

return sbuilder.reverse().tostring();

}}

排名靠前的**

實現的是真的好!

class solution 

i--;

stringstack.set(stringstack.size()-1,tmp.tostring());

}else

}else

numstack.push(integer.valueof(s.substring(m,i)));

i++;

m=i;

while(s.charat(i)!=']'&&!(s.charat(i)>='0'&&s.charat(i)<='9'))

stringstack.push(s.substring(m,i));

i--;

}else}}

}return res.tostring();

}public string repeatstr(int num,string s)

return sb.tostring();

}}

394 字串解碼

給定乙個經過編碼的字串,返回它解碼後的字串。編碼規則為 k encoded string 表示其中方括號內部的 encoded string 正好重複 k 次。注意 k 保證為正整數。你可以認為輸入字串總是有效的 輸入字串中沒有額外的空格,且輸入的方括號總是符合格式要求的。此外,你可以認為原始資料不...

394 字串解碼

思路 思路一 使用棧 這種括號或者括號套括號的模式非常適合用棧來解決,設定乙個輔助棧,當遇到 的時候,開始將所有東西推到 棧中,直到遇到 時,開始取棧中的東西。取得方法 先取字元,再取數字,計算得到到的東西再壓入棧中 直到所有 都遍歷完為止 注意點 從棧中取的順序和最終生成結果得順序應該一致 cla...

394 字串解碼

注意 k 保證為正整數。你可以認為輸入字串總是有效的 輸入字串中沒有額外的空格,且輸入的方括號總是符合格式要求的。此外,你可以認為原始資料不包含數字,所有的數字只表示重複的次數 k 例如不會出現像 3a 或 2 4 的輸入。輔助棧解法 遍歷字串 s 中每個字元 c 當 c 為數字時,將數字字元轉化為...