Skip to content

Check for balanced parentheses in an expression using Java

This is the Java solution to check if an expression is balanced, i.e, the number of left and right parentheses should be equal.

static String isExpressionBalanced(String s)
{
	String result = "NOT BALANCED!";
	ArrayList<String> al = new ArrayList<String>();
	
	for(int i = 0; i < s.length(); i++)
	{
		if(s.charAt(i) == '(' || s.charAt(i) == '{' || s.charAt(i) == '[')
        {
			al.add(Character.toString(s.charAt(i)));
		}
		
		else if(s.charAt(i) == ')' || s.charAt(i) == '}' || s.charAt(i) == ']')
		{
			if(al.size() != 0 && al.get(al.size()-1).equals("(") && s.charAt(i) == ')')
			{
				al.remove(al.size()-1);
			}
			else if(al.size() != 0 && al.get(al.size()-1).equals("{") && s.charAt(i) == '}')
			{
				al.remove(al.size()-1);
			}
			else if(al.size() != 0 && al.get(al.size()-1).equals("[") && s.charAt(i) == ']')
			{
				al.remove(al.size()-1);
			}
			else
			{
				return result = "NOT BALANCED";
			}
		}
		
	}
	if(al.isEmpty() == true)
	{
		return result = "YES, BALANCED!";
	}
	return result;
}
}
, , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.