[LintCode] 空格替换

 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         if (!length) return 0;
11         int spaces = 0;
12         for (int i = 0; string[i]; i++)
13             if (string[i] == ' ')
14                 spaces++;
15         if (!spaces) return length;
16         int newlen = length + spaces * 2;
17         int pn = newlen - 1, p = length - 1;
18         while (p >= 0 && pn >= 0) {
19             if (string[p] == ' ') {
20                 string[pn--] = '0';
21                 string[pn--] = '2';
22                 string[pn--] = '%';
23                 p--;
24             }
25             else string[pn--] = string[p--];
26         }
27         return newlen;
28     }
29 };

 

转载于:https://www.cnblogs.com/jcliBlogger/p/4609199.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值