Question: Can someone solve the following problem in C++ Write a function named checkBalance that accepts a string of source code and uses a stack to

Can someone solve the following problem in C++

Write a function named checkBalance that accepts a string of source code and uses a stack to check whether the braces/parentheses are balanced. Every ( or { must be closed by a } or ) in the opposite order. Return the index at which an imbalance occurs, or -1 if the string is balanced. If any ( or { are never closed, return the string's length.

Here are some example calls:

// index 0123456789012345678901234567890
checkBalance("if (a(4) > 9) { foo(a(2)); }") // returns -1 because balanced
checkBalance("for (i=0;i 
checkBalance("while (true) foo(); }{ ()") // returns 20 because } doesn't match any {
checkBalance("if (x) {") // returns 8 because { is never closed

Constraints: Use a single stack as auxiliary storage.

Step by Step Solution

There are 3 Steps involved in it

1 Expert Approved Answer
Step: 1 Unlock blur-text-image
Question Has Been Solved by an Expert!

Get step-by-step solutions from verified subject matter experts

Step: 2 Unlock
Step: 3 Unlock

Students Have Also Explored These Related Databases Questions!