[LeetCode]20_Valid Parentheses
Posted PrConstantin
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了[LeetCode]20_Valid Parentheses相关的知识,希望对你有一定的参考价值。
Given a string containing just the characters ‘(‘, ‘)’, ‘‘, ‘’, ‘[’ and ‘]’, determine if the input string is valid.
The brackets must close in the correct order, “()” and “()[]” are all valid but “(]” and “([)]” are not.
括号匹配问题,直接遍历整个字符串,如果遇到左括号则将左括号放入一个栈中,如果遇到右括号则从栈顶取出一个左括号,比对是否是一对,如果不是一对则说明不是标准的括号组形式,最后如果遍历结束栈为空则说明是标准括号组返回true
let isValid = (str)=>
let left_stack = []
for(let i=0;i<str.length;i++)
if(str[i]==='('||str[i]==='['||str[i]==='')
left_stack.push(str[i])
if(str[i]===')')
let left_ = left_stack.pop();
if(left_!=='(')
return false
if(str[i]===']')
let left_ = left_stack.pop();
if(left_ !== '[')
return false
if(str[i]==='')
let left_ = left_stack.pop();
if(left_!=='')
return false
if(left_stack.length === 0)
return true
else
return false
console.log(isValid('['))
console.log(isValid('()[]'))
console.log(isValid('(]'))
console.log(isValid("([)]"))
console.log(isValid('(('))
console.log(isValid(')'))
console.log(isValid('([])'))
以上是关于[LeetCode]20_Valid Parentheses的主要内容,如果未能解决你的问题,请参考以下文章
leetcode_20 Valid Parentheses(String)
LeetCode20_Valid Parentheses有效的括号
20/32/22/856/301/921 Parentheses 括号匹配或者生成题
#Leetcode# 20.Valid Parentheses