File tree Expand file tree Collapse file tree 1 file changed +60
-0
lines changed Expand file tree Collapse file tree 1 file changed +60
-0
lines changed Original file line number Diff line number Diff line change
1
+ vector<string> Solution::prettyJSON(string A)
2
+ {
3
+ int n = A.size(),i,j;
4
+ vector< string >ans;
5
+ int tbctr = 0;
6
+ i = 0;
7
+ bool flag = false;
8
+ while(i<n)
9
+ {
10
+ string row = "";
11
+ for(j=0;j<tbctr;j++)
12
+ row += '\t';
13
+ flag = false;
14
+ for(j=i;j<n;j++)
15
+ {
16
+ if(A[j] == '[' || A[j] == '{')
17
+ {
18
+ if(flag)
19
+ ans.push_back(row);
20
+ row = "";
21
+ for(int k=0;k<tbctr;k++)
22
+ row += '\t';
23
+ row += A[j];
24
+ ans.push_back(row);
25
+ i = j+1;
26
+ tbctr++;
27
+
28
+ break;
29
+ }
30
+ if(A[j] == ']' || A[j] == '}')
31
+ {
32
+ tbctr--;
33
+ if(flag)
34
+ ans.push_back(row);
35
+ row = "";
36
+ for(int k=0;k<tbctr;k++)
37
+ row += '\t';
38
+ row += A[j];
39
+ if(j + 1 < n && A[j+1] == ',')
40
+ row += A[j++];
41
+ ans.push_back(row);
42
+ i = j+1;
43
+ break;
44
+ }
45
+ row += A[j];
46
+ flag = true;
47
+ i = j+1;
48
+ if(A[j] == ',')
49
+ {
50
+ if(flag)
51
+ ans.push_back(row);
52
+ i = j+1;
53
+ break;
54
+ }
55
+ }
56
+ // i = j+1;
57
+ // i++;
58
+ }
59
+ return ans;
60
+ }
You can’t perform that action at this time.
0 commit comments