object ValidParentheses { def main(args: Array[String]): Unit = { val input = "(){}[]" val isValid = isValidParentheses(input) if (isValid) println(s"$input contains valid parentheses.") else println(s"$input does not contain valid parentheses.") } def isValidParentheses(s: String): Boolean = { val stack = scala.collection.mutable.Stack[Char]() for (char <- s) { if (char == '(' || char == '{' || char == '[') { stack.push(char) } else if (char == ')' && stack.nonEmpty && stack.top == '(') { stack.pop() } else if (char == '}' && stack.nonEmpty && stack.top == '{') { stack.pop() } else if (char == ']' && stack.nonEmpty && stack.top == '[') { stack.pop() } else { return false // If we encounter an invalid character or a closing parenthesis without a matching opening parenthesis, it's not valid. } } stack.isEmpty // If the stack is empty at the end, all parentheses were matched. } }