题解 | #完成括号匹配#

完成括号匹配

https://www.nowcoder.com/practice/fe8d6a1b88af4ba6b4dbb10972059040

package main

import (
    "fmt"
)

func main() {
    var s string
    for {
        n, _ := fmt.Scan(&s)
        if n == 0 {
            break
        } else {
            fmt.Printf("%s",process(s))
        }
    }
}
func process(s string)string{
    cur := 0
    rev := 0
    // 遍历整个字符串
    for i:=0;i<len(s);{
        if s[i] == '['{
            cur ++
        }else {
            cur --
        }
        if cur < 0 {
            rev ++
            cur = 0
        }
        i++
    }
        // 建立一个字符数组
    strArr := make([]byte,len(s)+rev+cur)
    for i:=0 ;i<len(strArr);i++ {
        if i < rev {
            strArr[i] = '['
        }else if i<len(s)+rev {
            strArr[i] = s[i-rev]
        }else {
            strArr[i] = ']'
        }
    }
    return string(strArr)
}

用cur统计多余的'[',用rev统计多余的']',然后再在前面加上rev个'[',在后面加上cur个'['

全部评论

相关推荐

叶扰云倾:进度更新,现在阿里云面完3面了,感觉3面答得还行,基本都答上了,自己熟悉的地方也说的比较细致,但感觉面试官有点心不在焉不知道是不是不想要我了,求阿里收留,我直接秒到岗当阿里孝子,学校那边的房子都退租了,下学期都不回学校,全职猛猛实习半年。这种条件还不诱人吗难道 然后现在约到了字节的一面和淘天的复活赛,外加猿辅导。华为笔试完没动静。 美团那边之前投了个base广州的,把我流程卡麻了,应该是不怎么招人,我直接简历挂了,现在进了一个正常的后端流程,还在筛选,不知道还有没有hc。
点赞 评论 收藏
分享
八股刚起步,看了javaguide,小林coding,还有面渣,感觉面渣是体验最好的,请问只看面渣够用吗,有不完善的需要补吗?
码农索隆:先背最基础的知识,然后理解情景题,现在面试大多数喜欢问情景题,更考验面试者的基础和临场发挥情况
点赞 评论 收藏
分享
评论
点赞
1
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务