题目描述:

请实现一个函数,把字符串 s 中的每个空格替换成"%20"。

 

示例 1:

输入:s = "We are happy."
输出:"We%20are%20happy."
 

限制:

0 <= s 的长度 <= 10000

解题思路:

已知要返回一个新的字符串,则新的字符串的长度newS应该大于等于原字符串,小于等于原字符串长度的三倍,

于是有s.length<=nesS.length<=3*s.length,则我们新建一个字符型数组 array,长度设为3*s.length,然后遍历原字符串,若为‘ ’则替换为‘%20’,不为‘ ’,则替换为是s[i]

 1 class Solution {
 2     public String replaceSpace(String s) {
 3         int length=s.length();
 4         char[] array=new char[3*length];
 5         //定义长度
 6         int size=0;
 7         for(int i=0;i<length;i++){
 8             char c=s.charAt(i);
 9             if(c==' '){
10                 array[size++]='%';
11                 array[size++]='2';
12                 array[size++]='0';
13             }
14             else{
15                 array[size++]=c;
16             }
17         }
18         String newS=new String(array,0,size);
19         return newS;
20     }
21 }

 

posted on 2021-03-26 13:34  wxcongajiayou  阅读(46)  评论(0)    收藏  举报