一開始我就試看看只算出替換後的新字串長度,結果Wrong Answer。
而且題目要求Do it in-place,分明就是指標的基本題。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 | class Solution { public: /** * @param string: An array of Char * @param length: The true length of the string * @return: The true length of new string */ int replaceBlank(char string[], int length) { // Write your code here int newStrLen = length; const int SHIFT_INC = 2; for(int i = 0; i < newStrLen; i++) { if( string[i] == ' ') { newStrLen += SHIFT_INC; // Shifting the remaining character for(int j = newStrLen; j >= i; j--) string[j] = string[j-SHIFT_INC]; string[i] = '%'; string[i+1] = '2'; string[i+2] = '0'; } } return newStrLen; } }; |
沒有留言:
張貼留言