In this we will see how to check if a given string take valid combination of open and close brackets i.e.

(4+{8-[22+8]*}] contains valid order of open and close brackets.

({5+8]) contains invalid combination of open and close brackets.

Bracket combinations to be used,

  • { , }
  • [,]
  • (,)

Algo Used:


  • Create a empty stack of characters
  • Traverse characters in string one by one.
    • If any open bracket is encountered, then push that in stack
    • If any type of close bracket is encountered then match it’s open bracket counterpart with top of stack.
      • If match is successful then pop character from stack.
      • If match is unsuccessful then RETURN FALSE.
  • If stack is empty RETURN TRUE;
  • If stack is not empty RETURN FALSE;

Code is as follows,

Python Recommendations:

C++ & C++11 Recommendations:

If you didn't find what you were looking, then do suggest us in the comments below. We will be more than happy to add that.

Subscribe with us to join 1500+ Python & C++ developers, to get more Tips &  Tutorials like this.