diff --git a/leetcode/20 - validparenthesis/valid-parenthesis.js b/leetcode/20 - validparenthesis/valid-parenthesis.js new file mode 100644 index 0000000..b3bec48 --- /dev/null +++ b/leetcode/20 - validparenthesis/valid-parenthesis.js @@ -0,0 +1,18 @@ +const isValid = (s) => { + //cria uma expressão regular para substituir todos os () {} [] por branco + const pattern = /\(\)|{}|\[\]/g + let result = s.replace(pattern,(x)=>x='') + + // efetua a ação até não haver mais correspondência + while (pattern.test(result)) { + result = result.replace(pattern,(x)=>x='') + } + + // verdadeiro se o resultado estiver vazio caso contrário é falso + return result === '' +} + +//testes +console.log(isValid('(){[]}(){]}')) // false +console.log(isValid("()[]{}")) // true +console.log(isValid("([])]")) // false \ No newline at end of file