搜索
您的当前位置:首页正文

20. 有效的括号 - 使用js实现, 算法执行用时超过100%的人

来源:欧得旅游网

给定一个只包括 '(',')','{','}','[',']' 的字符串,判断字符串是否有效。

有效字符串需满足:

左括号必须用相同类型的右括号闭合。
左括号必须以正确的顺序闭合。
注意空字符串可被认为是有效字符串。

示例:

输入: "()"
输出: true

示例 1:

输入: "()[]{}"
输出: true

示例 2:

输入: "([)]"
输出: false

示例 3:

输入: "{[]}"
输出: true

(一)方法一:巧妙使用对象

使用这个方法, 语义上很好理解, 不过时间复杂度就很高了,不推荐

/*
 * @lc app=leetcode.cn id=20 lang=javascript
 *
 * [20] 有效的括号
 */

// @lc code=start
/**
 * @param {string} s '{[()]'
 * @return {boolean}
 */
var isValid = function (s) {
	const bracket = {
		'(': ')',
		'{': '}',
		'[': ']',
	}
	let stack = []
	for (let i = 0; i < s.length; i++) {
		if(bracket[s[i]]) { 
			stack.push(bracket[s[i]])
		} else { 
			if(s[i] !== stack.pop())  return false
		}
	}
	return !stack.length
}

 

leetCode链接: 

大家如果还有好的算法,可以在评论区沟通哟~ 🤨🤨

 

因篇幅问题不能全部显示,请点此查看更多更全内容

Top