题解 | #有效括号序列#
有效括号序列
https://www.nowcoder.com/practice/37548e94a270412c8b9fb85643c8ccc2
import java.util.*; public class Solution { /** * * @param s string字符串 * @return bool布尔型 */ public boolean isValid (String s) { // 用于判断左右括号是否对应:20 String left = "([{"; String right = ")]})"; // 利用LinkedList来当栈 LinkedList<Character> q = new LinkedList<>(); for(int i=0;i<s.length();i++){ if(right.indexOf(s.charAt(i))!=-1){ // 判断右括号是否单个出现 if(q.size()==0) return false; char l = q.pollFirst(); // 左右对应则在left 和 right中下标相同 if(left.indexOf(l)!=right.indexOf(s.charAt(i))){ return false; } } if(left.indexOf(s.charAt(i))!=-1){ q.addFirst(s.charAt(i)); } } // 完全配对则栈为空 if(q.size() == 0) return true; else return false; } }