((a+b)) has a pair of redundant brackets. The pair of brackets on the first and last index is needless. While (a + (b*c)) does not have any pair of redundant brackets.
The first line contains a single integer ‘T’ denoting the number of test cases. The test cases follow. The first line of each test case contains a string denoting the expression.
For each test case, return “Yes” if the given expression contains at least one pair of redundant brackets, else return “No”.
You don’t need to print anything; It has already been taken care of. Just implement the given function.
1 <= T <= 50 3 <= |S| <= 10^4 Time Limit: 1 sec
The idea is to use the stack to keep track of the opening and closing brackets. If we remove any subexpression from the given string which is enclosed by “()” and after that, if there exist any pair of opening and closing brackets“()” which does not have any operator(‘+’,’-’,’*’,’/’) in between them, then the expression will have a redundant pair of brackets.
The steps are as follows :
Ninja and Numbers
Longest Palindromic Substring
Next Greater Element II