We use cookies to ensure you have the best browsing experience on our website. Please read our cookie policy for more information about how we use cookies.
public class Solution {
/use a stack to put the opening brackets, if a closing bracket comes, compare it with the top element, and if it is the corresponding opening bracket, return false/
boolean check_bal(String s,int length)
{
int i,top;
char [] stack=new char [100000];
top=-1;
for(i=0;i<length;i++)
{
if((s.charAt(i)=='[') || (s.charAt(i)=='{') || (s.charAt(i)=='(' ) )
{stack[++top]=s.charAt(i);}//if opening bracket, push
if(s.charAt(i)==']')
{
if(top>=0 && stack[top]=='[') top-=1;//check if top>=0, since starting element cannot be a closing bracket
else return false;
}// if
if(s.charAt(i)=='}')
{
if(top>=0 && stack[top]=='{') top-=1;
else return false;
}// if
if(s.charAt(i)==')')
{
if(top>=0 && stack[top]=='(') top-=1;
else return false;
}// if
}//for loop
//System.out.println("Top:"+top);
if(top==-1)return true ;
else return false;
}//end of function
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
int iter,len;
boolean res;
int t = in.nextInt();
for(iter = 0; iter < t; iter++){
String s = in.next();
len=s.length();
if(len%2!=0) System.out.println("NO");//if string is of odd length
else{
//System.out.println(len);
res=new Solution().check_bal(s,len);
if (res==true) System.out.println("YES");
else System.out.println("NO");
}//else
}//for
}//main
}//Solution
I am trying to make this code more and more robust. Hence any test case that this code fails ,are very welcome :)
Cookie support is required to access HackerRank
Seems like cookies are disabled on this browser, please enable them to open this website
An unexpected error occurred. Please try reloading the page. If problem persists, please contact support@hackerrank.com
Balanced Brackets
You are viewing a single comment's thread. Return to all comments →
try this:
import java.io.; import java.util.; import java.text.; import java.math.; import java.util.regex.*;
public class Solution { /use a stack to put the opening brackets, if a closing bracket comes, compare it with the top element, and if it is the corresponding opening bracket, return false/
}//Solution
I am trying to make this code more and more robust. Hence any test case that this code fails ,are very welcome :)