给定一个只包括 '(',')','{','}','[',']' 的字符串 s ,判断字符串是否有效。
有效字符串需满足:
- 左括号必须用相同类型的右括号闭合。
- 左括号必须以正确的顺序闭合。
- 每个右括号都有一个对应的相同类型的左括号。
示例 1:
**输入:**s = "()"
**输出:**true
示例 2:
**输入:**s = "()\[\]{}"
**输出:**true
示例 3:
**输入:**s = "(]"
**输出:**false
示例 4:
**输入:**s = "(\[\])"
**输出:**true
示例 5:
**输入:**s = "()"
**输出:**false
提示:
1 <= s.length <= 104s仅由括号'()[]{}'组成
TypeScript
function isValid(s: string): boolean {
if(s.length % 2 !=0) return false
const track:string[] = []
for(const i of s){
if(i==="("){
track.push(")")
}else if(i==="["){
track.push("]")
}else if(i==="{"){
track.push("}")
}else{
if(track.pop()!==i){
return false
}
}
}
return track.length===0
};
共勉