棧 字串 leetcode394 字串解碼

2021-09-26 01:43:46 字數 764 閱讀 2298

題目:

解題思路:

遍歷字串,如果遇到的是數,則把數存入num;如果遇到的是左括號,那麼將num壓入數棧,將左括號前面的字串ans壓入字串棧,然後將num清0,將ans也清空;如果遇到的是右括號,那麼將數棧的棧頂數彈出記為 k,然後將當前的ans重複k次,連線到字串棧的棧頂字串後面,然後將字串棧的棧頂字串彈出,儲存為ans;如果遇到的是字母,則將ans連線上該字母。當字串遍歷結束後,返回結果ans。

**如下:

class

solution

// 遇到 '[' 時,將之前的字元和數字都壓棧,並將其設為初值

if(s[i]

=='['

)//遇到']'時,將兩個棧的棧頂元素彈出,在棧頂字串後連線k個當前的ans,彈出字串棧頂元素並更新ans

else

if(s[i]

==']'

) ans = sstr.

top();

//更新ans

sstr.

pop();

//字元棧棧頂元素出棧

}//將字元新增到ans

else

}return ans;}}

;

LeetCode 394 字串解碼(棧)

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

Leetcode 394 字串解碼

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

LeetCode 394 字串解碼

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