Mini Parser LeetCode solution in C++

1
class Solution {
2
public:
3
NestedInteger deserialize(string s) {
4
int i = 0;
5
return helper(s, i).getList()[0];
6
}
7

8
NestedInteger helper(string &s, int &i) {
9
NestedInteger nI;
10

11
while (i < s.size()) {
12
if (s[i] == ',') {
13
i++;
14
continue;
15
}
16

17
if (s[i] == ']') {
18
i++;
19
return nI;
20
}
21

22
if (s[i] == '[')
23
nI.add(helper(s, ++i));
24
else {
25
string tmp;
26
while (i < s.size() && s[i] != ',' && s[i] != ']') tmp += s[i++];
27

28
NestedInteger tmp_nI(stoi(tmp));
29
nI.add(tmp_nI);
30
}
31
}
32

33
return nI;
34
}
35
};

0

WPM •0 •0

100%

ACC •0 •0

0s

TIME •0