迷你语法分析器

给定一个字符串 s 表示一个整数嵌套列表,实现一个解析它的语法分析器并返回解析的结果 NestedInteger 。
列表中的每个元素只可能是整数或整数嵌套列表

  • 输入:s = “324”,

  • 输出:324

  • 解释:你应该返回一个 NestedInteger 对象,其中只包含整数值 324。

  • 输入:s = “[123,[456,[789]]]”,

  • 输出:[123,[456,[789]]]

  • 解释:返回一个 NestedInteger 对象包含一个有两个元素的嵌套列表:

  1. 一个 integer 包含值 123
  2. 一个包含两个元素的嵌套列表:
    i. 一个 integer 包含值 456
    ii. 一个包含一个元素的嵌套列表
      a. 一个 integer 包含值 789
    
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
var deserialize = function(s) {
let js = JSON.parse(s)

let parse = function (value) {
let res = new NestedInteger()

if (Array.isArray(value)) {
value.forEach(v => {
res.add(parse(v))
})
} else {
res.setInteger(value)
}

return res
}

return parse(js)
};