首页 > 其他 > 详细

Leetcode 394. 字符串解码

时间:2021-01-10 22:24:14      阅读:17      评论:0      收藏:0      [点我收藏+]
class Solution {
public:
    string decodeString(string s) {
        int num = 0;
        string stradd = "";
        stack<string> strstack;
        stack<int> intstack;
        
        for(int i=0;i < s.size();i++){
            if(s[i] >= 0&&s[i] <= 9){
                num = num*10 + s[i] - 0;
            }
            else if ((s[i] >= a && s[i] <= z)||s[i] >= A&&s[i] <= Z){
                stradd += s[i];
            }
            else if(s[i] == [){
                strstack.push(stradd);
                intstack.push(num);
                stradd = "";
                num = 0;
            }
            else if(s[i] == ]){
                int times = intstack.top();
                intstack.pop();
                for(int j=0;j < times;j++){
                    strstack.top() += stradd;
                }
                stradd = strstack.top();
                strstack.pop();
            }
        }
        return stradd;
    }
};

_用栈

Leetcode 394. 字符串解码

原文:https://www.cnblogs.com/cunyusup/p/14258806.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!