Algorithm
初始化stack。遍历字符串每个括号,如果是开括号,push到栈中。如果是闭括号,检查栈顶:如果栈顶是同类型开括号则将其从栈中推出。否则,不是有效的表达式。最后,如果栈不是空的,则表明是无效表达式。
Solution
var isValid = function(s) {
if (s === null || s.length <= 0) return true;
var cArr = s.split(' '); # split方法得到的元素会比分隔符多一个
var stack = [];
for (var c of cArr) {
if (c === '[') stack.push(']');
else if (c === '{') stack.push('}');
else if (c === '(') stack.push(')');
else if (stack.length === 0 || c !== stack.pop()) return false;
if (stack.length === 0) return true;
return false;
};
