网站建设 珠海郑州装修公司排名推荐
2026/5/13 0:48:56 网站建设 项目流程
网站建设 珠海,郑州装修公司排名推荐,邢台wap网站建设报价,wordpress农业站模板下载一、题目描述二、算法原理思路#xff1a;使用双栈#xff0c;一个栈原来存储字符串#xff0c;另外一个存储整型数字#xff1b;1#xff09;一开始#xff0c;把 string 栈先放个空字符串进去#xff0c;方便后面操作#xff1b;2#xff09;如果碰到纯字母#xf…一、题目描述二、算法原理思路使用双栈一个栈原来存储字符串另外一个存储整型数字1一开始把 string 栈先放个空字符串进去方便后面操作2如果碰到纯字母非 [ 后面的字母就让把这些字母提取出来拼接到 string 栈栈顶元素的后面3如果遍历到数字直接入 int 栈4如果遍历到 [ 就把 [ 后面的字母入 string 栈5如果遍历到 ] 就把双栈的栈顶元素拿出来进行重复 K 次工作重复结束之后把这个字符串拼接到栈顶元素的后面这也是我为什么让 string 一开始放个空串进去的原因最终答案此时 string 的栈顶元素就是最终答案三、代码实现class Solution { public: string decodeString(string s) { vectorint int_stack; vectorstring char_stack(1,); for(int i 0; i s.size();) { if(s[i] [)// [ 后面跟字母 { i; string str ; while(!isdigit(s[i]) s[i] ! ] s[i] ! [) { str s[i]; i; } char_stack.push_back(str); } else if(isdigit(s[i]))//纯数字 { int tmp 0; while(isdigit(s[i])) { tmp tmp * 10 (s[i] - 0); i; } int_stack.push_back(tmp); } else if(s[i] ! ]) { //纯字母 string str; while(i s.size() !isdigit(s[i]) s[i] ! ] s[i] ! [) { str s[i]; i; } char_stack.back() str; } else // ] { //] //取双栈元素 int k int_stack.back(); string str char_stack.back(); //出双栈元素 int_stack.pop_back(); char_stack.pop_back(); string ret ; for(int j 0; j k; j) ret str; char_stack.back() ret; i; } } return char_stack.back(); } };

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询