diff --git a/kotlin/20-Valid-Parentheses.kt b/kotlin/20-Valid-Parentheses.kt new file mode 100644 index 000000000..163f36d54 --- /dev/null +++ b/kotlin/20-Valid-Parentheses.kt @@ -0,0 +1,16 @@ +class Solution { + fun isValid(s: String): Boolean { + if (s.length % 2 == 1) return false + + val map = hashMapOf('(' to ')', '[' to ']', '{' to '}') + val stack = Stack() + + for (c in s) { + if (map.containsKey(c)) + stack.push(c) + else if (stack.isEmpty() || map[stack.pop()] != c) + return false + } + return stack.isEmpty() + } +}