Search⌘ K
AI Features

Problem: Decode String

Explore how to decode encoded strings that contain repeated and nested patterns. Learn to use a stack to manage nested substrings and repeat counts, enabling you to build the decoded output step by step. Understand the implementation details and analyze time and space complexity, preparing you to solve similar decoding problems with confidence.

Statement

Given an encoded string s, return its decoded string.

The encoding rule follows the format k[encoded_string], where the encoded_string enclosed within the square brackets is repeated exactly k times. The value k is guaranteed to be a positive integer.

You may assume that the input string is always valid: there are no extra whitespace characters, and all square brackets are well formed. Additionally, the original data contains no digit characters; digits appear only as repeat counts (k). For instance, inputs such as 3a or 2[4] will not occur.

The test cases are constructed such that the length of the decoded output never exceeds 10510^5.

Note: Nested encodings are possible, such as k1[string1 k2[string2]], where inner patterns are decoded first before the outer repetition is applied.

Constraints:

  • 11 \leq s.length 30\leq 30

  • s consists of lowercase English letters, digits, and square brackets '[' and ']'

  • s is guaranteed to be a valid input

  • All integers in s are in the range [1,300][1, 300] ...