🐠有效括号 | leetcode刷题

99 阅读1分钟

一、题目描述💯

  • 给定一个只包括 '(',')','{','}','[',']' 的字符串 s ,判断字符串是否有效。有效字符串需满足:
  • 左括号必须用相同类型的右括号闭合。
  • 左括号必须以正确的顺序闭合。

二、思路分析

  • 很明显,这个问题用这个数据结构会很方便
  • 设置匹配规则循环一次字符串,判断要进栈的元素与栈顶元素是否匹配,匹配的话,就弹出栈顶元素,不匹配就压入要进栈的元素。直到循环结束。如果栈里没有元素,说明匹配成功。

三、代码实现🎏

/**
* @param {string} s
* @return {boolean}
*/
var isValid = function(s) {
   let res = []
   res.push(s[0])
for(let i=1;i<s.length;i++){
   if(s[i] == ')'&& res[res.length -1] == '('){
       res.pop();
   }else if(s[i] == '}'&& res[res.length -1]=='{'){
       res.pop();
   }else if(s[i] == ']'&&res[res.length -1]=='['){
       res.pop();
   }else{
       res.push(s[i])
   }
}
   return res.length == 0
};

🌏个人精心整理的前端学习开发实用的网站

github-雾灵

感谢🙇‍

点赞支持👍