详解(判断表达式中的括号是否合法)

如果表达式中的括号成对出现则合法;否则不合法。

例一:

输入:

“{()[ ]()}”

输出:

true;

例二:

输入:

“{()[](}”

输出:false;

代码如下:

import java.util.LinkedList;


public class Text {
	

	public static void main(String[] args) {
		String str = "(){[()]()}";
		System.out.print(isLegal(str));
	}

	public static boolean isLegal(String str) {
		
		LinkedList<Character> stack = new LinkedList<Character>();
		// TODO Auto-generated method stub
		for(int i=0;i<str.length();i++){
			char c= str.charAt(i);
			if(stack.isEmpty()){
				stack.push(c);
			}else{
				Character ch = stack.peek();
				if(c-ch==1||c-ch==2){
					stack.pop();
					
				}else{
					stack.push(c);
				}
				
			}
		}
		if(stack.size()==0)
		return true;
		return false;
		
	}

}

Guess you like

Origin blog.csdn.net/qq_52253798/article/details/121074510