码迷,mamicode.com
首页 > 其他好文 > 详细

空格替换

时间:2017-05-02 13:42:35      阅读:147      评论:0      收藏:0      [点我收藏+]

标签:solution   处理   logs   smi   使用   targe   设计   class   字符数组   

空格替换 

设计一种方法,将一个字符串中的所有空格替换成 %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 };  

 

空格替换

标签:solution   处理   logs   smi   使用   targe   设计   class   字符数组   

原文地址:http://www.cnblogs.com/libaoquan/p/6795486.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!