ðáçðúé ááéú åäðáìåú òãééï ìà äçæéøå úùåáä,
àðé ìà äëé îðåñä á JS
ì÷ç ìé çöé ùòä ììîåã îä öøéê åìëúåá àú äàìâåøéúí, òí èòåéåú ñéðè÷ñ ÷èðåú åèòåú áäâãøú âáåìåú äìåìàä, ùúé÷ðúé éåúø îàåçø,
áñä"ë çøâúé ôé 2 îäæîï.
àáì éåúø îòðéï àåúé äàí éù ãøê àçøú éåúø éòéìä å÷øéàä éåúø.
öøéê ìëúåá ôåð÷öéä äî÷áìú string åîçæéøä 1 àí äñåâøééí á÷ìè î÷åððéí ðëåï å- 0 àçøú.
ãåâîàåú :
You need to consider three kinds: (), [], <> and only these kinds.
Examples:
verify("---(++++)----") -> 1
verify("") -> 1
verify("before ( middle []) after ") -> 1
verify(") (") -> 0
verify("} {") -> 1 //no, this is not a mistake.
verify("<( >)") -> 0
verify("( [ <> () ] <> )") -> 1
verify(" ( [)") -> 0
÷åã HTML:function verify(text) { var stack = new Array(); var myMap = new Map(); myMap.set('[' ,']'); myMap.set('(',')'); myMap.set( '<','>'); myMap.set('”', '”'); var regOpen = /[([<"]/ ; var regClose = /[\)\]\>"]/ ; var length= text.length-1; var textArr= text.split(""); var pop; console.log(length); for (i=0;i<=length; i++ ) { if( textArr[i].match(regOpen) ) stack.push(textArr[i]); else if( textArr[i].match(regClose) ) { pop = myMap.get(stack.pop()); if( pop!= textArr[i] ) return 0; } } return (stack.length==0 ? 1:0); }


öéèåè ääåãòä áúâåáä

