1つの文字列の各スペースを「%20」に置き換える関数を実装してください.

783 ワード

タイトルの説明:1つの文字列の各スペースを「%20」に置き換える関数を実装してください.例えば、文字列がWe Are Happyである.置換後の文字列は、We%20 Are%20 Happyである.
普通の考えで、直接コードを貼りました(C++):
class Solution {
public:
	void replaceSpace(char *str,int length) {
        int i=length-1,j,count=0;
        while(i>=0){							//         
            if(str[i]==' '){						//          
                for(j=length;j>=i;j--){			//           '\0'         ,     %20
                    str[j+2]=str[j];		
                }
            	str[i]='%';			//i       , %
            	str[i+1]='2';		  //i+1 2
            	str[i+2]='0';			// i+2 0
            	length+=2;			//     
            }
             i--;
        }
	}
};

牛客網テストに合格
//文章は筆者のオリジナルで、自分の学習過程を記録して、転載は出典を明記してください