1. 程式人生 > >[劍指offer] 替換空格

[劍指offer] 替換空格

sub 題目 tom desc ces describe 劍指offer -- style

題目描述

請實現一個函數,將一個字符串中的空格替換成“%20”。例如,當字符串為We Are Happy.則經過替換之後的字符串為We%20Are%20Happy。

剛開始用replace實現了一個replaceAll結果超時。。所以還是直接操作吧:

先求出新的長度然後從後往前遍歷替換。

我的代碼:

class Solution {
public:
    void replaceSpace(char *str,int length) {
        int countBlank = 0;
        for (int i = 0; i < length; i++) {
            
if (str[i] == ) countBlank++; } int newLength = length + 2 * countBlank; int strPos = length; for (int i = newLength; i >= 0; i--, strPos--) { if (str[strPos] == ) { str[i--] = 0; str[i--] = 2; str[i]
= %; } else str[i] = str[strPos]; } } };

[劍指offer] 替換空格