loading...

JAVA STACK

suchitr36309633 profile image Suchitra ・1 min read

In this problem we have to find whether the input string is valid sequence of parenhesis or not!
We just put our string like this:-
{}()
({()})
{}(
[]

And according to our input this program will give "true" if the sequence is valid otherwise "false".

import java.util.*;
class Solution{

public static void 
main(String []argh)
{
    Scanner sc = 
new Scanner(System.in);

    while 
(sc.hasNext()) {
        String 
input=sc.next();
        //Complete the 
code
    //
    }
  System.out.println(isValid(input));




      }
  }
    public static boolean 
isValid(String s){
    if(s.charAt(0)==')'||s.charAt(0)=='}'||s.charAt(0)==']'){
        return false;
    }
   Stack<Character> stack=new Stack<>();
 for(int i=0;i<s.length();i++)
{if(s.charAt(i)=='{'||s.charAt(i)=='('||s.charAt(i)=='[')
    {





 stack.push(s.charAt(i));
    }


else{
    if(stack.empty()){
        return false;
    }
char open=findOpenBracket(s.charAt(i));
    char ch=stack.pop();
 if(ch!=open)   {
    return false;
     }

    }
}
if(stack.empty()){
    return true;
}
return false;
}
public static char findOpenBracket(char c)
{
   if(c=='}')
      {
      return '{';
      }
   else if(c==')'){
       return '(';
      }
   else if(c==']'){
    return '[';
     }
    return ' ';
     }
    }

If any doubt feel free to ask in comment:)
This problem is taken from the HackerRank !!
Happy Coding❤️

Posted on by:

suchitr36309633 profile

Suchitra

@suchitr36309633

I am a enthusiastic in code and to know about technology!!

Discussion

pic
Editor guide