面試題:smartRepeat 函數(shù)

編寫“智能重復(fù)”smartRepeat函數(shù),實(shí)現(xiàn):

將 3[abc] 變?yōu)閍bcabcabc
將 3[2[a]2[b]] 變?yōu)?aabbaabbaabb
將 2[1[a]3[b]2[3[c]4[d]]] 變?yōu)閍bbbcccddddcccddddabbbcccddddcccdddd

不用考慮輸入字符串是非法的情況郭赐,比如:

2[a3[b]]是錯(cuò)誤的薪韩,應(yīng)該補(bǔ)一個(gè)1,即2[1[a]3[b]]
[abc]是錯(cuò)誤的堪置,應(yīng)該補(bǔ)一個(gè)1躬存,即1[abc]

/**
 * @param {string} repeatStr
 */
function smartRepeat(repeatStr){
  let numArr=[],//存放數(shù)字
      strArr=[];//存放字母
  let str = '';
  for(let i=0;i<repeatStr.length-1;i++){
    console.log('---',numArr,strArr,str)
    let temp = repeatStr.charAt(i);
    if(parseInt(temp)>0){//如果是數(shù)字
      numArr.push(parseInt(temp));
    }else{
      if(temp == '['){//發(fā)現(xiàn)要循環(huán)的起始
        strArr.push('')
      }else if(temp == ']'){//當(dāng)前字母結(jié)束
        // 如果這個(gè)字符是],那么就①將numArr彈棧舀锨,②strArr彈棧岭洲,③把字符串棧的新棧頂?shù)脑刂貜?fù)剛剛彈出的那個(gè)字符串指定次數(shù)拼接到新棧頂上。
        let t = numArr.pop();
        let m = strArr.pop();
        strArr[strArr.length-1] += m.repeat(t);
      }else{
        // 如果這個(gè)字符是字母坎匿,那么此時(shí)就把棧頂這項(xiàng)改為這個(gè)字母
        strArr[strArr.length-1] += temp;
      }
    } 
  }
  str = strArr[0].repeat(numArr[0])
  return str;
}
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末盾剩,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子替蔬,更是在濱河造成了極大的恐慌告私,老刑警劉巖,帶你破解...
    沈念sama閱讀 216,402評(píng)論 6 499
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件承桥,死亡現(xiàn)場離奇詭異驻粟,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)凶异,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,377評(píng)論 3 392
  • 文/潘曉璐 我一進(jìn)店門蜀撑,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人剩彬,你說我怎么就攤上這事酷麦。” “怎么了喉恋?”我有些...
    開封第一講書人閱讀 162,483評(píng)論 0 353
  • 文/不壞的土叔 我叫張陵沃饶,是天一觀的道長母廷。 經(jīng)常有香客問我,道長糊肤,這世上最難降的妖魔是什么琴昆? 我笑而不...
    開封第一講書人閱讀 58,165評(píng)論 1 292
  • 正文 為了忘掉前任,我火速辦了婚禮轩褐,結(jié)果婚禮上椎咧,老公的妹妹穿的比我還像新娘玖详。我一直安慰自己把介,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,176評(píng)論 6 388
  • 文/花漫 我一把揭開白布蟋座。 她就那樣靜靜地躺著拗踢,像睡著了一般。 火紅的嫁衣襯著肌膚如雪向臀。 梳的紋絲不亂的頭發(fā)上巢墅,一...
    開封第一講書人閱讀 51,146評(píng)論 1 297
  • 那天,我揣著相機(jī)與錄音券膀,去河邊找鬼君纫。 笑死,一個(gè)胖子當(dāng)著我的面吹牛芹彬,可吹牛的內(nèi)容都是我干的蓄髓。 我是一名探鬼主播,決...
    沈念sama閱讀 40,032評(píng)論 3 417
  • 文/蒼蘭香墨 我猛地睜開眼舒帮,長吁一口氣:“原來是場噩夢(mèng)啊……” “哼会喝!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起玩郊,我...
    開封第一講書人閱讀 38,896評(píng)論 0 274
  • 序言:老撾萬榮一對(duì)情侶失蹤肢执,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后译红,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體预茄,經(jīng)...
    沈念sama閱讀 45,311評(píng)論 1 310
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,536評(píng)論 2 332
  • 正文 我和宋清朗相戀三年侦厚,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了耻陕。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 39,696評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡假夺,死狀恐怖淮蜈,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情已卷,我是刑警寧澤梧田,帶...
    沈念sama閱讀 35,413評(píng)論 5 343
  • 正文 年R本政府宣布,位于F島的核電站,受9級(jí)特大地震影響裁眯,放射性物質(zhì)發(fā)生泄漏鹉梨。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,008評(píng)論 3 325
  • 文/蒙蒙 一穿稳、第九天 我趴在偏房一處隱蔽的房頂上張望存皂。 院中可真熱鬧,春花似錦逢艘、人聲如沸旦袋。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,659評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽疤孕。三九已至,卻和暖如春央拖,著一層夾襖步出監(jiān)牢的瞬間祭阀,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 32,815評(píng)論 1 269
  • 我被黑心中介騙來泰國打工鲜戒, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留专控,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 47,698評(píng)論 2 368
  • 正文 我出身青樓遏餐,卻偏偏與公主長得像伦腐,于是被迫代替她去往敵國和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子境输,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,592評(píng)論 2 353

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