title: Minimum no of bracket reversals?
body: <p>Given an expression with only ‘}’ and ‘{‘. The expression may not be balanced. Find the minimum number of bracket reversals to make the expression balanced</p>
  
  <p>….    python
  ``
      a=['}{}{}{}}}{{{{{}{}{}}{{}{}{}}{{}}{{']</p>
  
  <pre><code>for elem in a:
      sol=0
      stack=[]
   #stack.append(elem[i])
      i=0
      while i&lt;len(elem)-1:
          if elem[i]=='{' and elem[i+1]=='{':
              stack.append(elem[i])
              stack.append(elem[i+1])
              sol+=1
          elif elem[i]=='}' and elem[i+1]=='{':
              if len(stack)!=0:
                  if stack[-1]=='{':
                      stack.pop()
                      stack.append(elem[i+1])
  
                  else:
                      stack.append(elem[i])
                      stack.append(elem[i+1])
                      sol+=1
              else:  
                  stack.append(elem[i])
              ``  stack.append(elem[i+1])
                  sol+=2
          elif elem[i]=='}' and elem[i+1]=='}':
              if len(stack)!=0:
                  if stack[-1]=='{' and stack[-2]=='{':
                      stack.pop()
                      stack.pop()
                      sol-=1
                  elif stack[-1]=='{' and stack[-2]=='}':
                      stack.pop()
                      stack.append(elem[i+1])
                  else:
                      stack.append(elem[i])
                      stack.append(elem[i+1])
                      sol+=1
              else:
                  stack.append(elem[i])
                  stack.append(elem[i+1])
                  sol+=1
          i+=2
      print(sol)
  </code></pre>
  
  <p>….</p>
  
  <p>expected 5
  output 6</p>