Pergunta de entrevista da empresa Compass

Checking if a string contains a valid sequence of opening and closing parentheses

Respostas da entrevista

Sigiloso

4 de abr. de 2019

var isValid = function(s) { let chars = { "(": ")", "{": "}", "[": "]" }; let pickStack = s.split(""); let pushStack = []; while (pickStack.length > 0) { let char = pickStack.pop(); if (char == "(" || char == "{" || char == "[") { if (pushStack.length == 0) { return false; } let pushedChar = pushStack.pop(); if (pushedChar != chars[char]) { return false; } } else { pushStack.push(char); } } if (pushStack.length > 0) { return false; } return true; };

Sigiloso

18 de set. de 2019

public boolean isValid(String s) { if ( s == null || s.length() == 0) return true; if (s.length() % 2 != 0) return false; Stack stack = new Stack(); for (int i = 0; i < s.length(); i++) { if (s.charAt(i) == '(') stack.push(')'); else if (s.charAt(i) == '{') stack.push('}'); else if (s.charAt(i) == '[') stack.push(']'); else if ( stack.isEmpty() || s.charAt(i) != stack.pop()) return false; } return stack.isEmpty(); }