最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會員登陸 & 注冊

力扣:劍指 Offer 05. 替換空格

2023-04-12 19:01 作者:薄荷硬糖醬  | 我要投稿

劍指 Offer 05. 替換空格

難度簡單455

請實現(xiàn)一個函數(shù),把字符串?s?中的每個空格替換成"%20"。

?

示例 1:

輸入:s = "We are happy."輸出:"We%20are%20happy."

?

限制:

0 <= s 的長度 <= 10000

通過次數(shù)635,989提交次數(shù)843,510

第一種法:

class?Solution?{

public:

????string?replaceSpace(string?s)?{

????????string?ans;

????????for(auto?a:s){

????????????if(a=='?'){

????????????????ans+="%20";

????????????}else{

????????????????ans+=a;

????????????}

????????}

????????return?ans;

????}

};

思路:

時間復(fù)雜度:O(n) 空間復(fù)雜度: O(n)

開一個新的字符串來存答案,當(dāng)檢測到是空格時將%20存到答案串中,不是空格時將字符存入到答案串中


第二種法:

class?Solution?{

public:

????string?replaceSpace(string?s)?{

????????int?count?=?0;

????????int?sOldSize?=?s.size();

????????for(int?i=0;i<s.size();i++){

????????????if(s[i]=='?'){

????????????????count++;

????????????}

????????}

????????s.resize(s.size()+count*2);

????????int?sNewSize?=?s.size();

????????for(int?i?=?sNewSize?-?1,j?=?sOldSize?-?1;j?<?i;i--,j--){

????????????if(s[j]!='?'){

????????????????s[i]?=?s[j];

????????????}else{

????????????????s[i]?=?'0';

????????????????s[i-1]='2';

????????????????s[i-2]='%';

????????????????i-=2;

????????????}

????????}

????????return?s;

????}

};

思路:

雙指針法,時間復(fù)雜度 O(n),空間復(fù)雜度O(1)

先數(shù)清楚字符串中有多少個空格,將原來的字符串resize成可以裝下答案字符串的長度

讓快指針指向倒數(shù)原串的末尾,讓慢指針指向新的字符串長度的末尾

快慢指針不斷往后移動

當(dāng)快指針指向的是字符時,就讓慢指針將指向的位置改成字符

當(dāng)快指針指向的是空格時,就讓慢指針將指向的位置與后兩個位置分別改成‘0’ ‘2’ ‘%’,然后慢指針-2迭代


力扣:劍指 Offer 05. 替換空格的評論 (共 條)

分享到微博請遵守國家法律
临汾市| 合山市| 淮安市| 郸城县| 虹口区| 县级市| 阿合奇县| 安陆市| 鄂温| 曲阳县| 翁牛特旗| 山东省| 遂溪县| 阿图什市| 读书| 吐鲁番市| 阳山县| 威远县| 成都市| 桂林市| 西和县| 兴海县| 仁布县| 石阡县| 郴州市| 仙游县| 突泉县| 娱乐| 南皮县| 延寿县| 收藏| 宁陕县| 江北区| 东莞市| 西华县| 保康县| 望奎县| 万全县| 安平县| 三亚市| 阳新县|