题目
给定一个只包括 ‘(’,’)’,’{’,’}’,’[’,’]’ 的字符串,判断字符串是否有效。 有效字符串需满足: 左括号必须用相同类型的右括号闭合。 左括号必须以正确的顺序闭合。 注意空字符串可被认为是有效字符串。
示例
输入: “()” 输出: true
输入: “()[]{}” 输出: true
输入: “(]” 输出: false
输入: “([)]” 输出: false
输入: “{[]}” 输出: true
这是一道简单题,没什么说的
class Solution
{
public boolean
isValid(String s
) {
if(s
==null
||s
.equals("")){
return true
;
}
Map
<Character
,Character
>map
= new HashMap
<>();
map
.put(')','(');
map
.put(']','[');
map
.put('}','{');
Stack
<Character
>stack
= new Stack
<>();
for(Character c
: s
.toCharArray()){
if(map
.containsKey(c
)){
Character top
= stack
.isEmpty() ? '#' : stack
.pop();
if(!top
.equals(map
.get(c
))){
return false
;
}
}else{
stack
.push(c
);
}
}
return stack
.isEmpty();
}
}
举一反三
无
转载请注明原文地址:https://ipadbbs.8miu.com/read-25896.html