g0301_0400.s0394_decode_string.readme.md Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of leetcode-in-java21 Show documentation
Show all versions of leetcode-in-java21 Show documentation
Java-based LeetCode algorithm problem solutions, regularly updated
394\. Decode String
Medium
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; 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 won't be input like `3a` or `2[4]`.
**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"
**Example 4:**
**Input:** s = "abc3[cd]xyz"
**Output:** "abccdcdcdxyz"
**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]`.