题目:给定一个字符串,将由以下字符组成 '(', '[', '{', ')', ']', '}',以'()', '[]', '{}',这样的组合为括号配对成功,示例如下:
- s = '()[]{}' 输出 true
- s = '[{}()]' 输出 true
- s = ‘[{([])}]’ 输出 true
- s = '[{]}' 输出false
答题思路:从字符串末尾开始,往前翻,找左括弧,第一个被找到的左括弧的下一位应该是对应的右括弧,这时把这对括弧删除,继续往前找左括弧,直到字符串空
代码
function funcA(leftChar, rightChar) { // 括弧是否匹配
if ((leftChar === '(' && rightChar === ')') ||
(leftChar === '[' && rightChar === ']') ||
(leftChar === '{' && rightChar === '}')
) {
return true
}
return false
}
function funcB(str) {
let i = str.len