题目链接:https://leetcode-cn.com/problems/valid-parentheses/
题目如下:
class Solution {
public boolean isValid(String s) {
if(s.length()%2!=0) return false;//长度必须是偶数
LinkedList<Character> stack=new LinkedList<Character>();
HashMap<Character,Character> hash=new HashMap<Character,Character>(){{
put('(',')');
put('{','}');
put('[',']');
}};
for(int i=0;i<s.length();i++){
char ch=s.charAt(i);
if(ch=='('||ch=='['||ch=='{'){
stack.addLast(ch);
}
else {
if(stack.isEmpty()==true) return false;//以防出现:“)([]”
char left=stack.getLast();//right和left用于判断是否存在对应的key-value
char right=ch;
if(hash.get(left)==right) stack.removeLast();
else return false;
}
}
return stack.isEmpty();
}
}