1576. 替换所有的问号
解题思路
根据题意.我们要找出所有问号所在的下标
针对每个下标i
,我们可以从 a
开始进行替换,如若不合规则继续 b
, c
(因为不允许连续重复,三个字符够用了)
因为不允许连续重复,我们需要比对 i-1
与i+1
的字符是否与i替换后的相等.
代码
var modifyString = function (s) {
const arr = [...s]
for (let i = 0, len = arr.length; i < len; i++) {
if (arr[i] !== '?') continue
for (const c of ['a', 'b', 'c']) {
if (arr[i - 1] === c || arr[i + 1] === c) continue
arr[i] = c
break
}
}
return arr.join('')
}