zoukankan      html  css  js  c++  java
  • 1576. 替换所有的问号

    题目要求替换掉全部的?字符,需要考虑到特殊字符出现在

    头尾的边界情况。遍历字符串的所有元素,针对特殊字符,我们获取

    当前位置的前后一个元素,然后从a开始递推,得到不与前后元素

    相同的第一个元素即可。

     1     public String modifyString(String s) {
     2         char[] chars = s.toCharArray();
     3         for (int i = 0; i < chars.length; i++) {
     4             if (chars[i] == '?') {
     5                 //前面一个字符  如果当前是第0个的话 字符就为‘ ’
     6                 char ahead = i == 0 ? ' ' : chars[i - 1];
     7                 //后面一个字符  如果当前是最后一个的话 字符就为‘ ’
     8                 char behind  = i == chars.length - 1 ? ' ' : chars[i + 1];
     9                 //从a开始比较  如果等于前面或者后面的话 就+1
    10                 char temp = 'a';
    11                 while (temp == ahead || temp == behind ) {
    12                     temp++;
    13                 }
    14                 //找到目标字符后 做替换
    15                 chars[i] = temp;
    16             }
    17         }
    18         return new String(chars);
    19     }
    争取早日不再是一只菜鸡
  • 相关阅读:
    继承
    成员变量,局部变量,静态变量
    几种常用排序
    jdk环境配置以及java执行过程
    基础语法
    数据类型
    关键字和标识符
    网络编程(二)-socket套接字
    反射
    多态
  • 原文地址:https://www.cnblogs.com/jchen104/p/14744288.html
Copyright © 2011-2022 走看看