Basic Recursion, Check Balanced Parenthesis

前端 未结 12 1261
孤独总比滥情好
孤独总比滥情好 2020-11-29 17:56

I\'ve written software in the past that uses a stack to check for balanced equations, but now I\'m asked to write a similar algorithm recursively to check for properly neste

12条回答
  •  误落风尘
    2020-11-29 18:19

    func evalExpression(inStringArray:[String])-> Bool{
        var status = false
        var inStringArray = inStringArray
        if inStringArray.count == 0 {
            return true
        }
    
        // determine the complimentary bracket.
        var complimentaryChar = ""
        if (inStringArray.first == "(" || inStringArray.first == "[" || inStringArray.first == "{"){
            switch inStringArray.first! {
            case "(":
                complimentaryChar = ")"
                break
            case "[":
                complimentaryChar = "]"
                break
            case "{":
                complimentaryChar = "}"
                break
            default:
                break
            }
        }else{
            return false
        }
    
        // find the complimentary character index in the input array.
        var index = 0
        var subArray = [String]()
        for i in 0..

提交回复
热议问题