给定一个只包括 ‘(‘,’)’,’{‘,’}’,’[‘,’]’ 的字符串,判断字符串是否有效。 有效字符串需满足:1.左括号必须用相同类型的右括号闭合。2.左括号必须以正确的顺序闭合。注意空字符串可被认为是有效字符串。 示例 1:输入: “()”输出: true 示例 2:输入: “()[]{}”输出: true 示例 3:输入: “(]”输出: false 示例 4:输入: “([)]”输出: false 示例 5:输入: “{[]}”输出: true
给定一个只包括 ‘(‘,’)’,’{‘,’}’,’[‘,’]’ 的字符串,判断字符串是否有效。
有效字符串需满足:1.左括号必须用相同类型的右括号闭合。2.左括号必须以正确的顺序闭合。注意空字符串可被认为是有效字符串。
示例 1:输入: “()”输出: true
示例 2:输入: “()[]{}”输出: true
示例 3:输入: “(]”输出: false
示例 4:输入: “([)]”输出: false
示例 5:输入: “{[]}”输出: true
let isValid = function(s){ let items = []; let len = s.length; if(len % 2 !== 0){ return false; } for(let i = 0; i<len; i++){ let letter = items[items.length-1]; switch(s[i]){ case '(':{ items.push('('); break; } case '[':{ items.push('['); break; } case '{':{ items.push('{'); break; } case ')':{ if(letter === '('){ items.pop(); } break; } case ']':{ if(letter === '['){ items.pop(); } break; } case '}':{ if(letter === '{'){ items.pop(); } break; } } } return items.length === 0; } // let a = "()"; // console.log(isValid(a)); let b = "[{]}"; console.log(isValid(b)); // let c = "(]"; // console.log(isValid(c)); // let d = "([)]"; // console.log(isValid(d)); // let e = "{[]}"; // console.log(isValid(e)); // let f = "())"; // console.log(isValid(f));
var validBraces = (braces)=>{ let arr = [] for(let item of braces.split('')){ if(/[\(\{\[\)\}\]]/.test(item)){ if(/[\(\{\[]/.test(item)){ arr.push(item) }else{ if(item === ")"){ if(arr.pop() !=='('){ return false } }else if(item === "}"){ if(arr.pop() !=='{'){ return false } }else if(item === "]"){ if(arr.pop() !=='['){ return false } } } } } return arr.length === 0 } console.log(validBraces("{()[][}"));
要开始狂刷面试题了,加油吧
本文链接:https://heri.ganto.cn/2021/12/03/interview-questions/
本文更新于:2022-05-08 11:36:07
小站声明:如果你需要“转载”、“引用”小站的文章,可以不需要作者同意,请务必标明出处和文章链接。