【LeetCode热题100(69/100)】字符串解码

题目地址: 链接

思路: 栈。

  1. 遇到非]字符,压入栈
  2. 遇到]字符,将[ ]中的字符str拿出来,[前面的数字num拿出来,根据重复num次str字符,并将其压入栈。
ts 复制代码
function decodeString(s: string): string {
    let stk = [];
    for(let str of s) {
        if(str !== ']') stk.push(str);
        else {
            let str = ''
            while(stk[stk.length - 1] !== '[') {
                str = stk.pop() + str;
            }
            stk.pop(); // 弹出 [
            
            let numStr = '';
            while('0' <= stk[stk.length - 1] && stk[stk.length - 1] <= '9') {
                numStr = stk.pop() + numStr;
            }
            let substr = '';
            for(let i = 0; i < parseInt(numStr); i ++) {
                substr += str;
            }
            stk.push(substr);
        }
    }
    return stk.join('');
};
相关推荐
武子康23 分钟前
Qwen-Drive 到底是什么:4B 级 VLM 如何成为驾驶策略底座
人工智能·算法·机器学习
坤坤子吖1 小时前
Linux网络编程:TCP服务器的多进程与多线程实现
linux·服务器·开发语言·网络·c++·笔记·学习
阡陌数智1 小时前
Claude API新版本重大变更与安全升级指南
java·linux·安全
奶茶树1 小时前
【Linux】环境开发工具(vim,gcc,g++,Makefile)
linux·运维·vim
zh_xuan2 小时前
LeeCode 496. 下一个更大元素I
数据结构·算法·栈·单调栈
机 _ 长2 小时前
05 智算运维|8 张卡怎么才算「捆成一张」:NCCL 实测与拓扑
运维·人工智能·算法·智算运维
早起CaiCai3 小时前
【2023-01 OM】利用深度学习算法融合异质观测实现海洋场降尺度
人工智能·深度学习·算法
梦里寻码3 小时前
我用 NestJS + Vue3 写了一套完整的研发管理系统(58 表 / 229 API / 130 项断言,全开源
前端·后端·算法
猿人谷4 小时前
Surrogate Model:让进化算法学会“预测”,为什么它正在成为智能优化的重要技术?
后端·算法·架构
文丑颜不良啊5 小时前
LeetCode2241~2260题目解析
java·leetcode