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

LeetCode75——Day26

文章目录

    • 一、题目
    • 二、题解

一、题目

394. Decode String

Given an encoded string, return its decoded string.

The encoding rule is: k[encoded_string], where the encoded_string inside the square brackets is being repeated exactly k times. Note that k is guaranteed to be a positive integer.

You may assume that the input string is always valid; there are no extra white spaces, square brackets are well-formed, etc. Furthermore, you may assume that the original data does not contain any digits and that digits are only for those repeat numbers, k. For example, there will not be input like 3a or 2[4].

The test cases are generated so that the length of the output will never exceed 105.

Example 1:

Input: s = “3[a]2[bc]”
Output: “aaabcbc”
Example 2:

Input: s = “3[a2[c]]”
Output: “accaccacc”
Example 3:

Input: s = “2[abc]3[cd]ef”
Output: “abcabccdcdcdef”

Constraints:

1 <= s.length <= 30
s consists of lowercase English letters, digits, and square brackets ‘[]’.
s is guaranteed to be a valid input.
All the integers in s are in the range [1, 300].

二、题解

class Solution {
public:string decodeString(string s) {string ans;stack<pair<int, int>> stk;int count = 0;for (auto x : s) {if (isdigit(x)) count = 10 * count + (x - '0');else if (x == '[') {stk.push({count, ans.size()});count = 0;}else if (isalpha(x)) ans += x;else if (x == ']') {int n = stk.top().first;string str = ans.substr(stk.top().second, ans.size() - stk.top().second);for (int i = 0; i < n - 1; i++) {ans += str;}stk.pop();}}return ans;}
}; 
http://www.lryc.cn/news/218472.html

相关文章:

  • 面试算法53:二叉搜索树的下一个节点
  • 2023SHCTF web方向wp
  • 从物理磁盘到数据库 —— 存储IO链路访问图
  • 基于java+springboot+vue在线选课系统
  • GO学习之 同步操作sync包
  • NUUO网络摄像头(NVR)RCE漏洞复现
  • 一款快速获取目标网站关键信息的工具
  • 将GC编程语言引入WebAssembly的新方法
  • 微信小程序UI自动化测试实践:Minium+PageObject
  • Java零基础入门-输入与输出
  • iOS报错命名空间“std”中的“unary_function”
  • Flink SQL 窗口聚合详解
  • 中间件redis的使用
  • Why delete[] array when deepcopying with “=“?
  • curl(六)DNS解析、认证、代理
  • (免费领源码)PHP#MySQL高校学生信息管理系统28099-计算机毕业设计项目选题推荐
  • [动态规划] (四) LeetCode 91.解码方法
  • Vue Vuex的使用和原理 专门解决共享数据的问题
  • 第九周实验记录
  • STM32WB55开发(6)----FUS更新
  • centos关闭Java进程的脚本
  • 深度学习网络模型 MobileNet系列MobileNet V1、MobileNet V2、MobileNet V3网络详解以及pytorch代码复现
  • Spring 中 BeanFactory 和 FactoryBean 有何区别?
  • 黑马程序员项目-黑马点评
  • ubuntu 20.04 + Anaconda + cuda-11.8 + opencv-4.8.0(cuda)
  • Linux 目录
  • Linux shell编程学习笔记21:用select in循环语句打造菜单
  • 线性回归与线性拟合的原理、推导与算法实现
  • 【C++】set和multiset
  • 二十、泛型(1)