Mini Parser - Problem

Given a string s that represents the serialization of a nested list, implement a parser to deserialize it and return the deserialized NestedInteger.

Each element is either an integer or a list whose elements may also be integers or other lists.

The format follows these rules:

  • An integer is just a number (positive, negative, or zero)
  • A list starts with [ and ends with ]
  • Elements in a list are separated by commas
  • Lists can be nested to any depth

Examples:

  • "324" → single integer 324
  • "[123,456]" → list containing two integers
  • "[123,[456,789]]" → list containing an integer and a nested list

Input & Output

Example 1 — Single Integer
$ Input: s = "324"
Output: 324
💡 Note: The input represents a single integer, so we parse and return the number 324.
Example 2 — Simple List
$ Input: s = "[123,456]"
Output: [123,456]
💡 Note: The input represents a list with two integers. We parse the brackets and comma-separated values to return [123,456].
Example 3 — Nested List
$ Input: s = "[123,[456,789]]"
Output: [123,[456,789]]
💡 Note: The input has a nested structure: a list containing an integer (123) and another list ([456,789]). We parse recursively to maintain the nesting.

Constraints

  • 1 ≤ s.length ≤ 5 × 104
  • s consists of digits, square brackets "[]", minus sign "-", and commas ","
  • s is the valid serialization of a NestedInteger
  • All integers in s are in the range [-106, 106]

Visualization

Tap to expand
Mini Parser: String → Nested Structure"[123,[456,789]]"Input StringParseList123Sub-list456789Result: [123, [456, 789]]
Understanding the Visualization
1
Input
String representation of nested structure
2
Parse
Process characters to identify integers and lists
3
Output
Structured data with proper nesting
Key Takeaway
🎯 Key Insight: Use a stack to maintain context when parsing nested brackets, similar to matching parentheses but with data construction
Asked in
Facebook 35 Google 28 Amazon 22 Microsoft 18
32.2K Views
Medium Frequency
~25 min Avg. Time
896 Likes
Ln 1, Col 1
Smart Actions
💡 Explanation
AI Ready
💡 Suggestion Tab to accept Esc to dismiss
// Output will appear here after running code
Code Editor Closed
Click the red button to reopen