zoukankan      html  css  js  c++  java
  • 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);
      }
    }

  • 相关阅读:
    栈:逆波兰表达式(后缀表达式)
    栈:实现综合计算器(中缀表达式)
    栈:数组模拟栈
    链表(Linked List):单向环形链表
    单链表常见面试题
    链表(Linked List):双向链表
    链表(Linked List): 单链表
    队列和环形队列
    稀疏数组
    Linux命令--pushd和popd
  • 原文地址:https://www.cnblogs.com/wzQingtTian/p/10661237.html
Copyright © 2011-2022 走看看