Data Structures | Stack | Question 5
Following is an incorrect pseudocode for the algorithm which is supposed to determine whether a sequence of parentheses is balanced:
C
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
else
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 http://www.geeksforgeeks.org/check-for-balanced-parentheses-in-an-expression/ for details.
Quiz of this Question
Please comment below if you find anything wrong in the above post
Last Updated :
09 Feb, 2013
Like Article
Save Article
Share your thoughts in the comments
Please Login to comment...