> For the complete documentation index, see [llms.txt](https://mayanktyagi3111.gitbook.io/interview-prep/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://mayanktyagi3111.gitbook.io/interview-prep/stacks-and-queues/redundant-braces.md).

# 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.
```

```java
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;
    }
}
```
