Created
November 17, 2016 21:04
-
-
Save mggowtham25/565305896b301d26adc5aa5cacba6ccb to your computer and use it in GitHub Desktop.
Java Program to check the Parenthensies,
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
import java.util.Stack; | |
public class BalancedParenthensies { | |
public static void main (String [] args) | |
{ | |
String test_good = "(h[e{lo}!]~)()()()("; | |
String test_bad = "[](){}<>"; | |
System.out.println(checkBalanced(test_good)); | |
System.out.println(checkBalanced(test_bad)); | |
} | |
public static boolean checkBalanced(String check) | |
{ | |
Stack<Character> S = new Stack<Character>(); | |
for(int a = 0; a < check.length(); a++) | |
{ | |
char let = check.charAt(a); | |
if(let == '[' || let == '{' || let == '(') | |
S.push(let); | |
else if(let == ']' || let == '}' || let == ')') | |
{ | |
if(S.empty()) | |
return false; | |
switch(let) | |
{ | |
// Opening square brace | |
case ']': | |
if (S.pop() != '[') | |
return false; | |
break; | |
// Opening curly brace | |
case '}': | |
if (S.pop() != '{') | |
return false; | |
break; | |
// Opening paren brace | |
case ')': | |
if (S.pop() != '(') | |
return false; | |
break; | |
default: | |
break; | |
} | |
} | |
} | |
if(S.empty()) | |
return true; | |
return false; | |
} | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment