function isMatchingPair(str) {
var s = [];
var l = ['(','[','{'];
var r = [')',']','}'];
for(var i = 0; i< str.length; i++){
if(l.includes(str[i]))
s.push(r[l.indexOf(str[i])]);
if(r.includes(str[i]))
if(s.pop()!=str[i]){return false;}
}
return s.length?false:true;
}
Kekalkan struktur tindanan, lintasi rentetan, dan bandingkan dengan bahagian atas tindanan semasa Jika bahagian atas tindanan dibiarkan, penyeberang adalah betul, dan kurungan adalah daripada jenis yang sama, ia akan disingkirkan. Bukan kurungan diabaikan.
Selepas merentas, jika panjang tindanan 0, bermakna ada padan, jika tidak ia tidak sepadan.
function isMatchingPair(str){
var left = /\(|\{|\[/,right = /\)|\}|\]/,map={'(':')','{':'}','[':']'}
var stack = []
var ret = true
str.split('').forEach(function(e){
if(left.test(e)){
stack.push(e)
}else if(right.test(e)){
if(e === map[stack[stack.length - 1]]){
stack.pop()
}else{
ret = false
}
}
})
return ret && !stack.length
}
Padanan kurungan struktur tindanan.
Kekalkan struktur tindanan, lintasi rentetan, dan bandingkan dengan bahagian atas tindanan semasa Jika bahagian atas tindanan dibiarkan, penyeberang adalah betul, dan kurungan adalah daripada jenis yang sama, ia akan disingkirkan. Bukan kurungan diabaikan.
Selepas merentas, jika panjang tindanan 0, bermakna ada padan, jika tidak ia tidak sepadan.
Wah, boleh tanya kat mana soalan temuduga masih rasa tak senang