[LeetCode][JavaScript]Valid Parentheses

Valid Parentheses 

Given a string containing just the characters '('')''{''}''[' and ']', determine if the input string is valid.

The brackets must close in the correct order, "()" and "()[]{}" are all valid but "(]" and "([)]" are not.

https://leetcode.com/problems/valid-parentheses/

 


 
水题好愉快。
 1 /**
 2  * @param {string} s
 3  * @return {boolean}
 4  */
 5 var isValid = function(s) {
 6     var stack = [];
 7     function brackets(left, right){
 8         if(left === '(' && right === ')'){
 9             return true;
10         }else if(left === '[' && right === ']'){
11             return true;
12         }else if(left === '{' && right === '}'){
13             return true;
14         }
15         return false;
16     }
17     var top = null;
18     for(var i in s){
19         if(/[\({\[]/.test(s[i])){
20             stack.push(s[i]);
21         }else{
22             if(stack.length > 0){
23                 top = stack.pop();
24                 if(!brackets(top, s[i])){
25                     return false;
26                 }
27             }else{
28                 return false;
29             }
30         }
31     }
32     
33     if(stack.length !== 0){
34         return false;
35     }  
36     return true;
37 };

 

 
posted @ 2015-05-17 16:44  `Liok  阅读(667)  评论(0编辑  收藏  举报