空格替换

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了空格替换相关的知识,希望对你有一定的参考价值。

空格替换 

设计一种方法,将一个字符串中的所有空格替换成 %20 。你可以假设该字符串有足够的空间来加入新的字符,且你得到的是“真实的”字符长度。

你的程序还需要返回被替换后的字符串的长度。

 注意事项

如果使用 Java 或 Python, 程序中请用字符数组表示字符串。

样例

对于字符串"Mr John Smith", 长度为 13

替换空格之后,参数中的字符串需要变为"Mr%20John%20Smith",并且把新长度 17 作为结果返回。

挑战 

在原字符串(字符数组)中完成替换,不适用额外空间

标签 

 

 1 class Solution {
 2 public:
 3     /**
 4      * @param string: An array of Char
 5      * @param length: The true length of the string
 6      * @return: The true length of new string
 7      */
 8     int replaceBlank(char string[], int length) {
 9         // Write your code here
10         int blank_count = 0;
11         int new_length = length;
12         int i;
13         for(i=0; i<length; i++)  {
14             if(string[i] == 32) {
15                 blank_count++;
16                 new_length += 2;
17             }
18         }
19 
20         for(i=length-1; i>=0; i--)  {
21             if(string[i] != 32)  {
22                 string[i+blank_count*2] = string[i];
23             }
24             else  {
25                 string[i]   = %;
26                 string[i+1] = 2;
27                 string[i+2] = 0;
28                 i+=3;
29                 blank_count--;
30             }
31         }
32         return new_length;
33     }
34 };  

 

以上是关于空格替换的主要内容,如果未能解决你的问题,请参考以下文章

如何从主要活动中替换片段

用片段替换时操作栏向下移动

如何在android studio中用另一个片段替换一个片段

用片段替换某些东西

试图替换片段,但它一直显示相同的片段

正则表达式替换markdown文件代码块标记中的所有空格