替换空格
题目描述
请实现一个函数,将一个字符串中的空格替换成“%20”。例如,当字符串为We Are Happy.则经过替换之后的字符串为We%20Are%20Happy。
思路:记录空格个数,然后从后向前赋值,遇见空格替换成%20
//length为牛客系统规定字符串输出的最大长度,固定为一个常数class
Solution {public: void
replaceSpace(char
*str,int
length) { int
len = 0, konglen =
0; while(str[len] !=
'\0'){ if(str[len] ==
' '){ konglen++; } len++; } int
tail = len+konglen*2;
//末尾下标 if(tail >= length || tail ==
0){ return
; } for(int
i=tail; i>len && i>=0; i--){ if(str[len] ==
' '){ str[i--] =
'0'; str[i--] =
'2'; str[i] =
'%'; } else{ str[i] = str[len]; } len--; } }};

本文介绍了一种将字符串中的空格替换为“%20”的算法实现。通过遍历字符串计算空格数量,并从后向前逐个替换字符,最终完成转换。此方法适用于URL编码等场景。
410

被折叠的 条评论
为什么被折叠?



