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

1 Answer

0 votes
import Foundation

func stringContainsValidParentheses(_ s: String) -> Bool {
    var arr: [Character] = [] // Array to store expected closing parentheses
    
    for ch in s {
        switch ch {
        case "(":
            arr.append(")")
        case "{":
            arr.append("}")
        case "[":
            arr.append("]")
        case ")", "}", "]":
            if arr.isEmpty || arr.removeLast() != ch {
                return false // Mismatch or empty arr
            }
        default:
            break
        }
    }
    
    // If the arr is empty, all parentheses are valid
    return arr.isEmpty
}

print(stringContainsValidParentheses("(){}[]"))      
print(stringContainsValidParentheses("([{}])"))      
print(stringContainsValidParentheses("(){}[]()(){}"))
print(stringContainsValidParentheses("(]"))           
print(stringContainsValidParentheses("({[)]}"))      



/*
run:

true
true
true
false
false

*/

 



answered Apr 25, 2025 by avibootz
...