//替換空格
////
#include
using
namespace
std;
bool replace_space(char* str,const
intlength)
int new_length = true_length + 2 * count;//
演算法核心思想,從尾到頭複製
if (new_length > length)//
要判斷原陣列長度夠長不
return
false;//
難受,寫的時候落下個分號
for (int i = count; i > 0;)//
當所有空格被替代完後結束
else
str[new_length] =str[true_length];
new_length -= 1
; true_length -= 1
; }
return
true;}
//********************測試**********************
void test(const
char* testname, char str, int length, const
char
expected)
//空格在句子中間
void
test1()
//空格在句子開頭
void
test2()
//空格在句子末尾
void
test3()
//連續有兩個空格
void
test4()
//傳入nullptr
void
test5()
//傳入內容為空的字串
void
test6()
//傳入內容為乙個空格的字串
void
test7()
//傳入的字串沒有空格
void
test8()
//傳入的字串全是空格
劍指offer第五題 替換空格
思路應該使用指標從後向前替換字串。不過python用不到。class solution s 源字串 def replacespace self,s write code here new s for j in s if j new s new s 20 else new s new s j retu...
劍指offer 題5 替換空格
題目 首先拿到題目,第一感覺就是乙個 空格 變成了 20 那字串長度肯定變長啊 所以我第一反應是建立新的字串b,然後從a乙個個讀取字元,遇到 空格 就用 20 來替代,只要b空間足夠,遍歷一遍就成了。但是,面試再簡單也不是考這種題目。於是這時候面試官可能會講了 要求在原來的字串上進行操作 這時候問題...
劍指offer 替換空格
思路 首先遍歷字串,找出空格的數量countspace,計算變換後的總長為newlength str.length 2 countspace。定義心得字元陣列,長度為newlength 從字串的後面開始複製和替換,如果不是空格,就複製,如果是空格,就變為 20.難點 牛客網上傳入引數是stringb...