题目:1576.替换所有问号

题目来源:

        leetcode题目,网址:1576. 替换所有的问号 - 力扣(LeetCode)

解题思路:

        遍历字符串,对于 ? 字符,从 a 开始判断是否符合要求。因为只要求无连续字符,因此不用担心多个连续问号字符会有唯一解。

解题代码:

class Solution {
    public String modifyString(String s) {
        StringBuffer res=new StringBuffer(s);
        for(int i=0;i<res.length();i++){
            if(res.charAt(i)=='?'){
                char temp='a';
                while((i>0 && temp==res.charAt(i-1) ) || (i<res.length()-1 && temp==res.charAt(i+1))){ 
                    temp=(char)('a'+(temp+1-'a')%25);
                }
                res.setCharAt(i,temp);
            }
        }
        return res.toString();
    }
}
 

总结:

        官方题解也是一样的思路,不过她是将字符串转化为了字符数组,再做修改,感觉更好一点。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值