import java.util.ArrayList;
import java.util.List;
/**
* @Description: TODO
* @author: Jocean <jocean.cool@163.com>
* @date Oct 28, 2018 8:56:36 PM
*/
public class BracketMatch
{
public static void main(String[] args)
{
System.out.println(isMatch(")({()}[])"));
}
private static boolean isMatch(String str)
{
char[] chars = str.toCharArray();
List list = new ArrayList<Character>();
for (char ch : chars)
{
if (ch == ('{') || ch == ('[') || ch == ('('))
{
list.add(ch);
}
if (ch == ('}') && list.size() > 0)
{
if ('{' != (char) list.get(list.size() - 1))
{
return false;
}
list.remove(list.size() - 1);
continue;
}
if (ch == (']') && list.size() > 0)
{
if ('[' != (char) list.get(list.size() - 1))
{
return false;
}
list.remove(list.size() - 1);
continue;
}
if (ch == (')') && list.size() > 0)
{
if ('(' != (char) list.get(list.size() - 1))
{
return false;
}
list.remove(list.size() - 1);
continue;
}
if (ch == '}' || ch == ']' || ch == ')' && list.size() == 0)
{
return false;
}
}
return list.size() > 0 ? false : true;
}
}