394. 字符串解碼

題目描述

給定一個經(jīng)過編碼的字符串训桶,返回它解碼后的字符串匿刮。

編碼規(guī)則為: k[encoded_string]焦履,表示其中方括號內(nèi)部的 encoded_string 正好重復(fù) k 次到推。注意 k 保證為正整數(shù)床三。

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

此外,你可以認為原始數(shù)據(jù)不包含數(shù)字孝宗,所有的數(shù)字只表示重復(fù)的次數(shù) k 穷躁,例如不會出現(xiàn)像 3a 或 2[4] 的輸入。

示例:

s = "3[a]2[bc]", 返回 "aaabcbc".
s = "3[a2[c]]", 返回 "accaccacc".
s = "2[abc]3[cd]ef", 返回 "abcabccdcdcdef".

分析

使用棧保存當前正在處理的編碼字符串因妇。
保存編碼字符串的次數(shù)和前綴
遇到]符號后问潭,把棧頂?shù)臄?shù)據(jù)取出來出來
使用string的append函數(shù)添加字符串

代碼

class Solution {
public:
    string decodeString(string s) {
        string res;
        if(s.empty()) {
            return res;
        }
        
        stack<pair<int, string>> st;
        string num;
        string encode;
        for(int i = 0; i < s.length(); i++){
            if(s[i] >= '0' && s[i] <= '9') {
                num += s[i];
            } else if(s[i] == '[') {
                int n = atoi(num.c_str());
                st.push(make_pair(n, encode));
                num = "";
                encode = "";
            } else if(s[i] == ']') {
                auto t = st.top();
                int n = t.first;
                string decode = t.second;
                for(int i = 0; i < n; i++) {
                    decode.append(encode);
                }
                st.pop();
                if(st.empty()) {
                    res.append(decode);
                    encode = "";
                } else {
                    encode = decode;
                }
            } else {
                encode.append(1,s[i]);
            }
        }
        res.append(encode);
        return res;
    }
};

題目鏈接

https://leetcode-cn.com/problems/decode-string/description/

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市婚被,隨后出現(xiàn)的幾起案子狡忙,更是在濱河造成了極大的恐慌,老刑警劉巖址芯,帶你破解...
    沈念sama閱讀 216,692評論 6 501
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件灾茁,死亡現(xiàn)場離奇詭異,居然都是意外死亡谷炸,警方通過查閱死者的電腦和手機北专,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,482評論 3 392
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來旬陡,“玉大人逗余,你說我怎么就攤上這事〖境停” “怎么了录粱?”我有些...
    開封第一講書人閱讀 162,995評論 0 353
  • 文/不壞的土叔 我叫張陵,是天一觀的道長画拾。 經(jīng)常有香客問我啥繁,道長,這世上最難降的妖魔是什么青抛? 我笑而不...
    開封第一講書人閱讀 58,223評論 1 292
  • 正文 為了忘掉前任旗闽,我火速辦了婚禮,結(jié)果婚禮上蜜另,老公的妹妹穿的比我還像新娘适室。我一直安慰自己,他們只是感情好举瑰,可當我...
    茶點故事閱讀 67,245評論 6 388
  • 文/花漫 我一把揭開白布捣辆。 她就那樣靜靜地躺著,像睡著了一般此迅。 火紅的嫁衣襯著肌膚如雪汽畴。 梳的紋絲不亂的頭發(fā)上旧巾,一...
    開封第一講書人閱讀 51,208評論 1 299
  • 那天,我揣著相機與錄音忍些,去河邊找鬼鲁猩。 笑死,一個胖子當著我的面吹牛罢坝,可吹牛的內(nèi)容都是我干的廓握。 我是一名探鬼主播,決...
    沈念sama閱讀 40,091評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼嘁酿,長吁一口氣:“原來是場噩夢啊……” “哼隙券!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起痹仙,我...
    開封第一講書人閱讀 38,929評論 0 274
  • 序言:老撾萬榮一對情侶失蹤是尔,失蹤者是張志新(化名)和其女友劉穎殉了,沒想到半個月后开仰,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,346評論 1 311
  • 正文 獨居荒郊野嶺守林人離奇死亡薪铜,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,570評論 2 333
  • 正文 我和宋清朗相戀三年众弓,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片隔箍。...
    茶點故事閱讀 39,739評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡谓娃,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出蜒滩,到底是詐尸還是另有隱情滨达,我是刑警寧澤,帶...
    沈念sama閱讀 35,437評論 5 344
  • 正文 年R本政府宣布俯艰,位于F島的核電站捡遍,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏竹握。R本人自食惡果不足惜画株,卻給世界環(huán)境...
    茶點故事閱讀 41,037評論 3 326
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望啦辐。 院中可真熱鬧谓传,春花似錦、人聲如沸芹关。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,677評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽侥衬。三九已至庸推,卻和暖如春常侦,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背贬媒。 一陣腳步聲響...
    開封第一講書人閱讀 32,833評論 1 269
  • 我被黑心中介騙來泰國打工聋亡, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人际乘。 一個月前我還...
    沈念sama閱讀 47,760評論 2 369
  • 正文 我出身青樓坡倔,卻偏偏與公主長得像,于是被迫代替她去往敵國和親脖含。 傳聞我的和親對象是個殘疾皇子罪塔,可洞房花燭夜當晚...
    茶點故事閱讀 44,647評論 2 354

推薦閱讀更多精彩內(nèi)容

  • 前言 最先接觸編程的知識是在大學(xué)里面征堪,大學(xué)里面學(xué)了一些基礎(chǔ)的知識,c語言关拒,java語言佃蚜,單片機的匯編語言等;大學(xué)畢...
    oceanfive閱讀 3,068評論 0 7
  • 第2章 基本語法 2.1 概述 基本句法和變量 語句 JavaScript程序的執(zhí)行單位為行(line)着绊,也就是一...
    悟名先生閱讀 4,148評論 0 13
  • 作為最早改革開放的城市归露,在國家政策的扶持下洲脂,深圳借著香港門戶這一便利,從無到有成為一座舉世聞名的國際化大都市剧包。目前...
    追隨風(fēng)前往心之所向閱讀 379評論 0 0
  • 福袋恐锦,把福帶回家!在這個即將迎來新春佳節(jié)的寒冬臘月聽著是那么應(yīng)景疆液,感覺是那么溫暖一铅! 今天我也說說這個福袋對我的心路...
    Donny悠悠閱讀 286評論 0 3
  • 好久沒來簡書了,也有好久沒提筆了枚粘。 偶爾過來一次馅闽,看到朋友們的留言, 真是滿滿的感動…… 也為大家的堅持和成績而贊...
    若水國畫閱讀 830評論 10 18