当前位置: 首页 > news >正文

C++ | Leetcode C++题解之第394题字符串解码

题目:

题解:

class Solution {
public:string src; size_t ptr;int getDigits() {int ret = 0;while (ptr < src.size() && isdigit(src[ptr])) {ret = ret * 10 + src[ptr++] - '0';}return ret;}string getString() {if (ptr == src.size() || src[ptr] == ']') {// String -> EPSreturn "";}char cur = src[ptr]; int repTime = 1;string ret;if (isdigit(cur)) {// String -> Digits [ String ] String// 解析 DigitsrepTime = getDigits(); // 过滤左括号++ptr;// 解析 Stringstring str = getString(); // 过滤右括号++ptr;// 构造字符串while (repTime--) ret += str; } else if (isalpha(cur)) {// String -> Char String// 解析 Charret = string(1, src[ptr++]);}return ret + getString();}string decodeString(string s) {src = s;ptr = 0;return getString();}
};

http://www.mrgr.cn/news/19263.html

相关文章:

  • 数据结构之链表
  • Python Tkinter小程序
  • 分类预测|基于蜣螂优化极限梯度提升决策树的数据分类预测Matlab程序DBO-Xgboost 多特征输入单输出 含基础模型
  • 浏览器自动化测试的利器:Cypress
  • SPI总线协议详解
  • Golang | Leetcode Golang题解之第394题字符串解码
  • 高效异步编程:使用Python的asyncio库实现异步I/O操作
  • 我找到了一个让ChatGPT稳定通过草莓测试的方法,百试百灵!
  • 【conda】Conda 环境迁移指南:如何更改 envs_dirs 和 pkgs_dirs 以及跨盘迁移
  • 深度学习应用 - 语音识别篇
  • YoloV10改进策略:卷积篇|基于PConv的二次创新|附结构图|性能和精度得到大幅度提高(独家原创)
  • Java | Leetcode Java题解之第393题UTF-8编码验证
  • 9 自研rgbd相机基于rk3566之qt框架开发rgbd融合线程
  • pytorch pyro更高阶的优化器会使用更高阶的导数,比如二阶导数(Hessian矩阵)
  • 【嵌入式撸码】内存相关的大小尽量偶数对齐
  • J.U.C Review - 阻塞队列原理/源码分析
  • https和harbor仓库跟k8s
  • Steam游戏截图方法
  • 如何判断字符串是否对称?
  • C语言 | Leetcode C语言题解之第394题字符串解码