Skip to content
Related Articles

Related Articles

Data Structures | Stack | Question 5

Improve Article
Save Article
  • Last Updated : 09 Feb, 2013
Improve Article
Save Article

Following is an incorrect pseudocode for the algorithm which is supposed to determine whether a sequence of parentheses is balanced:

declare a character stack 
while ( more input is available)
   read a character
   if ( the character is a '('
      push it on the stack
   else if ( the character is a ')' and the stack is not empty )
      pop a character off the stack
      print "unbalanced" and exit
 print "balanced"

Which of these unbalanced sequences does the above code think is balanced?

(A) ((())
(B) ())(()
(C) (()()))
(D) (()))()

Answer: (A)

Explanation: At the end of while loop, we must check whether the stack is empty or not. For input ((()), the stack doesn’t remain empty after the loop. See for details.

My Personal Notes arrow_drop_up
Related Articles

Start Your Coding Journey Now!