Given a string str of length N, consisting of ‘(‘ and ‘)‘ only, the task is to check whether it is balanced or not.
Input: str = “((()))()()”
Input: str = “())((())”
Output: Not Balanced
- Declare a Flag variable which denotes expression is balanced or not.
- Initialise Flag variable with true and Count variable with 0.
- Traverse through the given expression
- If we encounter an opening parentheses (, increase count by 1
- If we encounter a closing parentheses ), decrease count by 1
- If Count becomes negative at any point, then expression is said to be not balanced,
so mark Flag as false and break from loop.
- After traversing the expression, if Count is not equal to 0,
it means the expression is not balanced so mark Flag as false.
- Finally, if Flag is true, expression is balanced else not balanced.
Below is the implementation of the above approach:
Balanced Not Balanced
Time complexity: O(N)
Auxiliary Space: O(1)
Attention reader! Don’t stop learning now. Get hold of all the important DSA concepts with the DSA Self Paced Course at a student-friendly price and become industry ready.
- Check for balanced parentheses in an expression
- Check for balanced parentheses in an expression | O(1) space
- Check for balanced parentheses in an expression | O(1) space | O(N^2) time complexity
- Check for balanced parentheses in Python
- Count pairs of parentheses sequences such that parentheses are balanced
- Length of longest balanced parentheses prefix
- Balanced expression with replacement
- Minimum number of bracket reversals needed to make an expression balanced
- Minimum number of bracket reversals needed to make an expression balanced | Set - 2
- Check if the Depth of Parentheses is correct in the given String
- Check if the number is balanced
- Check if expression contains redundant bracket or not | Set 2
- Check if an URL is valid or not using Regular Expression
- How to check string is alphanumeric or not using Regular Expression
- How to check Aadhar number is valid or not using Regular Expression
- Check if a binary string has a 0 between 1s or not | Set 2 (Regular Expression Approach)
- Check if a string contains only alphabets in Java using Lambda expression
- Check if a given string is a valid number (Integer or Floating Point) in Java | SET 2 (Regular Expression approach)
- Check if the bracket sequence can be balanced with at most one change in the position of a bracket
- Score of Parentheses using Tree
If you like GeeksforGeeks and would like to contribute, you can also write an article using contribute.geeksforgeeks.org or mail your article to firstname.lastname@example.org. See your article appearing on the GeeksforGeeks main page and help other Geeks.
Please Improve this article if you find anything incorrect by clicking on the "Improve Article" button below.