Skip to content

Commit cb8b419

Browse files
authored
Adding solution for Pretty Json
Problem link : https://www.interviewbit.com/problems/pretty-json/
1 parent 14d700b commit cb8b419

File tree

1 file changed

+60
-0
lines changed

1 file changed

+60
-0
lines changed

Strings/Pretty Json

Lines changed: 60 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,60 @@
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+
}

0 commit comments

Comments
 (0)