判断括号是否合法

一个字符串包含若干(){}[],判断这个字符串是否合法,使用栈。

	public boolean isTue(String s){
		Stack<String> stack=new Stack<String>();
		while (!s.isEmpty()) {
			String string=s.substring(0, 1);
			s=s.substring(1);
			if (string.equals("(")||string.equals("{")||string.equals("[")) {
				stack.push(string);
			}else if(string.equals(")")||string.equals("}")||string.equals("]")){
				if (stack.isEmpty()) {
					return false;
				}				
				String string2=stack.pop();
				if (string.equals(")")) {
					if (string2.equals("(")) {
						return true;
					}
				}
				if (string.equals("}")) {
					if (string2.equals("{")) {
						return true;
					}
				}
				if (string.equals("]")) {
					if (string2.equals("[")) {
						return true;
					}
				}
			}
		}
		return stack.isEmpty();
	}

猜你喜欢

转载自blog.csdn.net/wwwtotoro/article/details/79519554