题解 | #有效括号序列#
有效括号序列
https://www.nowcoder.com/practice/37548e94a270412c8b9fb85643c8ccc2
import java.util.*;
public class Solution {
/**
* 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
* @param s string字符串
* @return bool布尔型
*/
public boolean isValid (String s) {
//map存储对应关系映射
HashMap<Character,Character> map =new HashMap(){{
put('{','}');
put('(',')');
put('[',']');
}};
Stack<Character> stack = new Stack<>();
int index= 0;
while(index<s.length()){//遍历s
char temp = s.charAt(index);
//当前char与栈顶匹配则出栈
if(!stack.isEmpty() && map.containsKey(stack.peek()) && temp==map.get(stack.peek() )){
System.out.println("1");
stack.pop();
}else{//不匹配则入栈
stack.push(temp);
System.out.println("2");
}
index++;
}
return stack.isEmpty();//全部配对成功 则最终为空栈
}
}