题目
解法:
设计一个counter,遇到{加一,遇到}减一,根据counter值来控制每个位置的缩进
def print_string(s):
count = 0
curr_s = ''
for i in range(len(s)):
v = s[i]
if v=='{':
print(' '*count+'{')
count+=1
if ord(v)>=ord('a') and ord(v)<=ord('z'):
curr_s += v
if i<len(s)-1 and s[i+1]!='{' and s[i+1]!='}':
continue
else:
print(count*' '+curr_s)
curr_s = ''
if v == '}':
count -= 1
print(' '*count+'}')
print_string('{a{bc{d}}}')
print_string('{a}{b}{c}')
print_string('{aa{b}}{c}')