美文网首页
利用栈解决括号匹配问题

利用栈解决括号匹配问题

作者: 梁森的简书 | 来源:发表于2021-02-03 23:08 被阅读0次

    遍历字符串,遇到左括号,入栈。遇到有括号,出栈。遍历完后,如果栈中还有元素就说明括号不匹配,否则匹配。

    /// 利用栈解决括号匹配问题
        private func isMach(str: String) -> Bool {
            var stack = Stack()
            for char in str.enumerated() {
                let s = char.element
                if s == "(" {
                    stack.push(item: s)
                } else if s == ")" {
                    let item = stack.pop()
                    if item == nil {
                        return false
                    }
                }
            }
            if stack.isEmpty() {
                return true
            } else {
                return false
            }
        }
    

    demo地址:https://github.com/yangguanghei/studyDateStructure

    相关文章

      网友评论

          本文标题:利用栈解决括号匹配问题

          本文链接:https://www.haomeiwen.com/subject/zllvtltx.html