Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- // program to implement balanced brackets using stack
- #include <iostream>
- #include<stack>
- using namespace std;
- int main() {
- int test;
- cin>>test;
- for(int i=0; i<test; i++){
- stack <char> s1;
- int flag = 0;
- string str;
- cin>>str;
- for (int j=0; j<str.length();j++){
- char s = str[j];
- if(s == '(' || s == '[' || s == '{'){
- s1.push(s);
- }
- else if(s == ')'){
- if (s1.size() > 0){
- char temp = s1.top();
- s1.pop();
- if(temp != '('){
- flag = true;
- break;
- }
- }
- else{
- flag = true;
- break;
- }
- }
- else if(s == ']'){
- if (s1.size() > 0){
- char temp = (char) s1.top();
- s1.pop();
- if(temp != '['){
- flag = true;
- break;
- }
- }
- else{
- flag = true;
- break;
- }
- }
- else if(s == '}'){
- if (s1.size() > 0){
- char temp = (char) s1.top();
- s1.pop();
- if(temp != '{'){
- flag = true;
- break;
- }
- }
- else{
- flag = true;
- break;
- }
- }
- }
- if(!flag && s1.size() == 0){
- cout<<"YES";
- }else{
- cout<<"NO";
- }
- }
- }
- /*
- Sample Input
- 3
- {[()]}
- {[(])}
- {{[[(())]]}}
- Sample Output
- YES
- NO
- YES
- */
Add Comment
Please, Sign In to add comment