Welcome to collectivesolver - Programming & Software Q&A with code examples. A website with trusted programming answers. All programs are tested and work.

Contact: aviboots(AT)netvision.net.il

Buy a domain name - Register cheap domain names from $0.99 - Namecheap

Scalable Hosting That Grows With You

Secure & Reliable Web Hosting, Free Domain, Free SSL, 1-Click WordPress Install, Expert 24/7 Support

Semrush - keyword research tool

Boost your online presence with premium web hosting and servers

Disclosure: My content contains affiliate links.

39,844 questions

51,765 answers

573 users

How to check if a string contains only valid parentheses (open close same type (), {}, []) in Kotlin

1 Answer

0 votes
fun stringContainsValidParentheses(s: String): Boolean {
    val stack = mutableListOf<Char>() // Stack implemented using a mutable list

    for (ch in s) {
        when (ch) {
            '(' -> stack.add(')')
            '{' -> stack.add('}')
            '[' -> stack.add(']')
            ')', '}', ']' -> {
                if (stack.isEmpty() || stack.removeAt(stack.size - 1) != ch) {
                    return false
                }
            }
        }
    }

    // Return true if the stack is empty, indicating valid parentheses
    return stack.isEmpty()
}

fun main() {
    println(stringContainsValidParentheses("(){}[]"))       
    println(stringContainsValidParentheses("([{}])"))       
    println(stringContainsValidParentheses("(){}[]()(){}"))
    println(stringContainsValidParentheses("(]"))           
    println(stringContainsValidParentheses("({[)]}"))       
}

   
      
/*
run:

true
true
true
false
false
  
*/

 



answered Apr 25, 2025 by avibootz
...