s = "3[a]2[bc]", return "aaabcbc". s = "3[a2[c]]", return "accaccacc". s = "2[abc]3[cd]ef", return "abcabccdcdcdef".
读错题……放弃治疗了以为第一个要输出bbcc来着
发现自己写一个dfs真优雅啊
class Solution { public: string dfs(string s,int &k) { int tot=0; string ans; while(k<s.size()) { if(isdigit(s[k])) tot=tot*10+s[k++]-'0'; else if(s[k]=='[') { k++; string tmp=dfs(s,k); for(int i=0;i<tot;i++) ans+=tmp; tot=0; } else if(s[k]==']') { k++; return ans; } else { ans+=s[k++]; } } return ans; } string decodeString(string s) { int k=0; return dfs(s,k); } };