2. 字符串的空格替换

不要使用java string  自带 replace(替换)api;

请实现一个函数,将一个字符串中的每个空格替换成“%20”。

例如,当字符串为We Are Happy.则经过替换之后的字符串为We%20Are%20Happy。

public class Solution {
  public String replaceSpace(StringBuffer str) {

  获取传进来的字符串的长度
  int oldLen = str.length();

  获取空格数目
  int spaceNum = 0;

  for(int i = 0; i < oldLen; i++) {

  
    if(str.charAt(i) == ' ') {
      spaceNum++;
    }
  }
  

  获取存储的数据长度
  int newLen = 2 * spaceNum + oldLen;

  获取下标
  int index = newLen-1;
  

  存储数组
  char[] ct = new char[newLen];

  遍历用的是老数组下标,添加用的是新数组的下标

  从尾端算起,有空格往前添加,没空格则直接添加
  while(oldLen > 0) {
   if(str.charAt(oldLen -1) != ' ') {
      ct[index--] = str.charAt(oldLen - 1);
    }else{
    ct[index--] = '0';
    ct[index--] = '2';
    ct[index--] = '%';
  }
  oldLen--;
  }

  返回数组
  return String.valueOf(ct);
  }
}

猜你喜欢

转载自www.cnblogs.com/wzQingtTian/p/10661237.html