牛客網 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);
	}
};

結尾:

解題方法非常多,我這個是啥不考慮 能通過就可以, 大佬們有好的方法可以評論區貼一下
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章