替换空格 C++解法

替换空格

题目描述:

请实现一个函数,将一个字符串中的每个空格替换成“%20”。例如,当字符串为We Are Happy.则经过替换之后的字符串为We%20Are%20Happy。

class Solution {
	public:
		void replaceSpace(char *str,int length) {
			int count;
			for(int i=0; i<length; i++) {
				if(str[i]==' ') count++;
			}
			for(int i=length-1; i>=0; i--) {
				if(str[i]!=' ') str[i+2*count]=str[i];
				else {
					str[i+2*count]='0';
					str[i+2*count-1]='2';
					str[i+2*count-2]='%';
					count--;
				}
			}
		}
};

思路:首先遍历字符串得到空格的个数,之后进行判断,如果为非空格,则根据空格的个数向后移动相应的位置,如果为空格则把要添加的子字符串填进去,这里注意count的自减.

猜你喜欢

转载自blog.csdn.net/qq_43461641/article/details/88977007