20. 有效的括号(力扣 面试题) By @mark on May 26, 2020原文:20. 有效的括号(力扣 面试题) - 每天一个JavaScript小知识@Js中文网 · 码农进阶题库原文地址:https://www.javascriptc.com/interview-tips/zh_cn/leetcode/leetcode-javascript-solution-020/题目:难度:Easy相关话题:栈、字符串给定一个只包括 '(' , ')' , '{' , '}' , '[' , ']' 的字符串,判断字符串是否有效。有效字符串需满足:左括号必须用相同类型的右括号闭合。左括号必须以正确的顺序闭合。注意空字符串可被认为是有效字符串。示例 1:输入: "()" 输出: true 示例2:输入: "()[]{}" 输出: true 示例3:输入: "(]" 输出: false 示例4:输入: "([)]" 输出: false 示例5:输入: "{[]}" 输出: true 思路:括号问题一般使用stack,按照开始必有结束的原则。/** * @来源: Javascript中文网 - 前端进阶资源教程 https://www.javascriptc.com/ * @介绍:一个致力于帮助开发者用代码改变世界为使命的平台,每天都可以在这里找到技术世界的头条内容 * @param {string} s * @return {boolean} */ var isValid = function(s) { let match={ "(":")", "[":"]", "{":"}" } let stack=[] for(let i=0;i<s.length;i++){ let cur=s[i] if(match[cur])stack.push(cur) else if(match[stack.pop()]!==cur)return false } return stack.length===0 }; #### 扩展阅读:高频面试题送22道JavaScript面试题及答案如何使用ES6中的参数- 小前端FE 灵活运用 JavaScript 开发技巧如何写出漂亮的 JavaScript 代码编写自己的代码库(javascript 常用实例的实现与封装)原文标题:20. 有效的括号(力扣 面试题) - 码农题库@Js中文网 · 前端进阶资源教程原文地址:https://www.javascriptc.com/interview-tips/zh_cn/leetcode/leetcode-javascript-solution-020/