力扣 394. 字符串解码

🔗 https://leetcode.cn/problems/decode-string

题目

  • 对字符串中的 k[s] 解码为 s 重复 k 次

思路

  • 碰到数字,开始进行递归 decode 展开,否则字符不解码
  • 针对于解码的部分,先明确 k 的数字是多少,再明确 [ ] 括号中的 str 是什么,最后重复 k 次
  • 注意这个过程中,要是碰到字符串是数字开头,递归进行 decode

代码

cpp 复制代码
class Solution {
public:
    string decode(string s, int start, int& ori_len) {
        int index = start;
        int num = 0;
        while (s[index] != '[') {
            num = num* 10 +  s[index] - '0';
            index++;
        }

        string str;
        for (int i = index + 1; i < s.size(); i++) {
            if (s[i] == ']') {
                ori_len = i - start;
                break;
            }
            if (s[i] >= '0' && s[i] <= '9') {
                int len = 0;
                str += decode(s, i, len);
                i += len;
            } else {
                str += s[i];
            }
        }

        string ans;
        while (num--) {
            ans += str;
        }

        return ans;
    }
    string decodeString(string s) {
        string ans;
        for (int i = 0; i < s.size(); i++) {
            if (s[i] >= '0' && s[i] <= '9') {
                int ori_len = 0;
                ans += decode(s, i, ori_len);
                i += ori_len;
            } else {
                ans += s[i];
            }
        }
        return ans;
    }
};
相关推荐
の梦13 分钟前
力扣54题——螺旋矩阵
数据结构·算法·leetcode·职场和发展·矩阵·蓝桥杯
伊一大数据&人工智能学习日志2 小时前
机器学习经典无监督算法——聚类K-Means算法
人工智能·算法·机器学习
✿ ༺ ོIT技术༻2 小时前
剑指offer第2版:树系列(一)
数据结构·算法·leetcode·剑指offer
I_Am_Me_2 小时前
【专题一 递归】24. 两两交换链表中的节点
算法
三月七(爱看动漫的程序员)3 小时前
LARGE LANGUAGE MODELS ARE HUMAN-LEVEL PROMPT ENGINEERS
大数据·人工智能·算法·语言模型·自然语言处理·prompt
羑悻的小杀马特3 小时前
【狂热算法篇】探秘图论之 Floyd 算法:解锁最短路径的神秘密码(通俗易懂版)
c++·算法·图论·floyd算法
吕小明么3 小时前
腾讯AI Lab与上交大探索模型“过度”思考
人工智能·神经网络·算法·aigc·agi
smj2302_796826524 小时前
解决leetcode第3418题机器人可以获得的最大金币数
python·算法·leetcode
KeyPan4 小时前
【机器学习:三十三(二)、支持向量机(SVM)的核函数:概念、类型与应用】
人工智能·神经网络·算法·机器学习·支持向量机·数据挖掘
dundunmm4 小时前
【论文阅读】End-to-End Adversarial-Attention Network for Multi-Modal Clustering
论文阅读·算法·数据挖掘·聚类·对抗学习·核映射·多视图聚类