Redundant Braces

Given a string A denoting an expression. It contains the following operators ’+’, ‘-‘, ‘*’, ‘/’.

Chech whether A has redundant braces or not.

Return 1 if A has redundant braces, else return 0.

Note: A will be always a valid expression.

Input Format

The only argument given is string A.

Output Format

Return 1 if string has redundant braces, else return 0.

For Example

Input 1:
    A = "((a + b))"
Output 1:
    1
    Explanation 1:
        ((a + b)) has redundant braces so answer will be 1.

Input 2:
    A = "(a + (a + b))"
Output 2:
    0
    Explanation 2:
        (a + (a + b)) doesn't have have any redundant braces so answer will be 0.
public class Solution {
    public int braces(String A) {
        Stack<Character> st = new Stack<>();
        for (int i = 0; i < A.length(); i++) {
            if (A.charAt(i) == ')') {
                if (st.peek() == '(')
                    return 1;
                else {
                    int count = 0;
                    while (st.peek() != '(') {
                        count++;
                        st.pop();
                    }
                    st.pop();
                    if (count == 1)
                        return 1;
                }
            } else {
                st.push(A.charAt(i));
            }
        }
        return 0;
    }
}

Last updated