c++ 双指针
class Solution {
public:
void replaceSpace(char* str, int length) {
if(str == NULL || length <0)
return;
int num =0; //空格数目
for (int i = 0; i < length; i++){
if (str[i] == ' ')
num++;
}
char* p1 = &str[length -1];//原字符串指针
char* p2 = &str[length -1 +num*2];//新字符串指针
for (int i = length-1; i >= 0; i--) {
if (str[i] == ' ') {
*p2-- = '0';
*p2-- = '2';
*p2-- = '%';
p1--;
}else{
*p2-- = *p1--;
}
}
}
};
京公网安备 11010502036488号