Advertisement
Alexxik

Untitled

Sep 13th, 2023 (edited)
101
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Swift 0.67 KB | None | 0 0
  1. // MARK: - 20 Valid Parentheses
  2.  
  3. // Закрытые и открытые скобки
  4.  
  5. func isValid(_ s: String) -> Bool {
  6.     let s = Array(s).map{String($0)}
  7.     var stack = [String]()
  8.    
  9.     var dict = ["]":"[","}":"{",")":"("]
  10.    
  11.     for char in s {
  12.         // если встретили закрывающуюся скобку, то проверяем лежит ли в стеке открывающаяся
  13.         if !stack.isEmpty && stack.last! == dict[char] {
  14.             stack.popLast()
  15.         } else {
  16.             stack.append(char)
  17.         }
  18.     }
  19.    
  20.     if stack.isEmpty {
  21.         return true
  22.     }
  23.     return false
  24. }
  25.  
  26. isValid("()[]{}")
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement