C++  beats 100%. use a, b or c to fill
\nclass Solution {\npublic:\n    string modifyString(string s) {\n        for (int i=0;i<s.size();i++){\n            if (s[i] == \'?\'){\n                if (i 
```\nclass Solution {\npublic:\n    string modifyString(string s) {\n        for (int i=0;i<s.size();i++){\n            if (s[i] == \'?\'){\n                if (i > 0 && i < s.size()-1){\n                    if ((s[i+1] ==\'a\' || s[i+1] ==\'b\') && (s[i-1] ==\'a\' || s[i-1] ==\'b\')){\n                        s[i] = \'c\';\n                        continue;\n                    }\n                }\n                \n                if (i > 0 && s[i-1] ==\'a\'){\n                    s[i] = \'b\';\n                    continue;\n                }else if (i > 0 && s[i-1] ==\'b\'){\n                    s[i] = \'a\';\n                    continue;\n                }\n                if (i < s.size()-1 && s[i+1] ==\'a\'){\n                    s[i] = \'b\';\n                }else{\n                    s[i] = \'a\';\n                }\n                \n            }\n        }\n        return s;\n    }\n};\n```
[]