# 1807. 替换字符串中的括号内容

难度:中等

解题思路:

  1. knowledge 转换 hashmap 便于查找
  2. 依次遍历 s,获取()中的字符串为 key,如果 hashmap 中不存在 key 对应的 value 则替换为 "?"
func evaluate(s string, knowledge [][]string) string {
    var know =  map[string]string{}
    for _, v := range knowledge {
        know[v[0]] = v[1]
    }
    slen := len(s)
    var ans strings.Builder
    for i:=0;i < slen; i++ {
        if s[i] == '(' {
            for j:= i+1; j< slen; j++ {
                if s[j] == ')'{
                    if v, ok:= know[s[i+1:j]]; ok {
                        ans.WriteString(v)
                    }else {
                        ans.WriteByte('?')
                    }
                    i = j
                    break;
                }
            }
            continue
        }
        ans.WriteByte(s[i])
    }
    return ans.String()
}
更新于 阅读次数

请我喝[茶]~( ̄▽ ̄)~*

PPYYLEE 微信支付

微信支付

PPYYLEE 支付宝

支付宝

PPYYLEE 贝宝

贝宝