天天看點

c++ 字元串題

将字元串中的空格全部替換為“%20”。假定該字元串有足夠的空間存放新增的字元,并且知道字元串的真實長度(小于等于1000),同時保證字元串由大小寫的英文字母組成。 給定一個string

題目描述

請編寫一個方法,将字元串中的空格全部替換為“%20”。假定該字元串有足夠的空間存放新增的字元,并且知道字元串的真實長度(小于等于1000),同時保證字元串由大小寫的英文字母組成。

給定一個string iniString 為原始的串,以及串的長度 int len, 傳回替換後的string。

測試樣例:

"Mr John Smith”,13

傳回:“Mr%20John%20Smith”

”Hello World”,12

傳回:”Hello%20%20World”

// 感覺比較笨的方法額~~

class Replacement {
public:
    string replaceSpace(string iniString, int length) {
        // write code here
    string str = iniString;
	int len = length;
	string str1 = "";
	for (int i = 0; i<len; i++){
		if ((str[i] >= 'a'&&str[i] <= 'z') || (str[i] >= 'A'&& str[i] <= 'Z') || (str[i] == ' ')){
			str1 += str[i];
		}
	}
	for (int j = 0; j < str1.length(); j++)
	{
		if (str1[j] == ' ')
		{
			str1 = str1.replace(j,1, "%20");
		}
	}
     return str1;
    }
};
           

繼續閱讀