牛客网 c++ 剑指Offer_编程题 第二题 替换空格

前言:

牛客网 c++ 剑指Offer_编程题 第二题 替换空格

题目:

在这里插入图片描述

这里我一看题目 卧槽真简单
循环一遍char 数组 遇到空格替换一下就ok

char[i] = "%20"   //卧槽不对呀 这是char 不是string

那要向后面挪 挪几个也不清楚

解题思路:

搞一个新的char数组 存放替换后的字符串

    if(char[i] == ' ')
    {
    			newStr[len_] = '%';
    			newStr[++len_] = '2';
    			newStr[++len_] = '0';
 	}
  	else
   {
    			newStr[len_] = str[i];
    			len_++;
   }

然后strcpy 一下

完整code:

在这里插入图片描述

在这里插入图片描述

class Solution {
public:
	void replaceSpace(char *str,int length) {
    
        int len_ = 0;
	    char* newStr = new char[100 + length];

	    for (auto i = 0; i < length; i++)
	    {
		    if (str[i] == ' ')
		    {
			    newStr[len_] = '%';
			    newStr[++len_] = '2';
			    newStr[++len_] = '0';
                ++len_;
		    }
		    else
		    {
		
			    newStr[len_] = str[i];
			    len_++;
		    }
	    }
	    //delete[] str;
	    //str = new char[len_+1];
	    strcpy(str,  newStr);
	}
};

结尾:

解题方法非常多,我这个是啥不考虑 能通过就可以, 大佬们有好的方法可以评论区贴一下
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章