Golang Simple O(n)
\nfunc modifyString(s string) string {\n    str := strings.Split(s, "")\n    chars := []string{"a", "b", "c"}\n\t\n    for i := range str {\n        if str[i] !
```\nfunc modifyString(s string) string {\n    str := strings.Split(s, "")\n    chars := []string{"a", "b", "c"}\n\t\n    for i := range str {\n        if str[i] != "?" {\n\t\t\tcontinue\n\t\t}\n\t\t\n\t\tfor _, c := range chars {\n\t\t\tif (i == 0 || str[i-1] != c) && (i == len(s)-1 || str[i+1] != c) {\n\t\t\t\tstr[i] = c\n\t\t\t\tbreak\n\t\t\t}\n\t\t}\n    }\n\t\n    return strings.Join(str[:], "")\n}\n```
['Go']