再刷题的时候碰到匹配括号问题,网上很多都是java或者c版本的,理解起来有点困难,求JS版本,最好解释透彻点,注释详细点
validBraces( "(){}[]" ) => returns true
validBraces( "(}" ) => returns false
validBraces( "[(])" ) => returns false
validBraces( "([{}])" ) => returns true
再刷题的时候碰到匹配括号问题,网上很多都是java或者c版本的,理解起来有点困难,求JS版本,最好解释透彻点,注释详细点
validBraces( "(){}[]" ) => returns true
validBraces( "(}" ) => returns false
validBraces( "[(])" ) => returns false
validBraces( "([{}])" ) => returns true
function validBraces(braces){
var matches = { '(':')', '{':'}', '[':']' };
var stack = [];
var currentChar;
for (var i = 0; i < braces.length; i++) {
currentChar = braces[i];
if (matches[currentChar]) { // opening braces
stack.push(currentChar);
} else { // closing braces
if (currentChar !== matches[stack.pop()]) {
return false;
}
}
}
return stack.length === 0; // any unclosed braces left?
}
13 回答12.8k 阅读
7 回答1.9k 阅读
3 回答1.1k 阅读✓ 已解决
2 回答1.2k 阅读✓ 已解决
6 回答884 阅读✓ 已解决
6 回答1k 阅读
2 回答1.3k 阅读✓ 已解决