字串 替換空格

2021-08-26 02:21:31 字數 913 閱讀 7256

方法:從後往前替換,先求出字串總長度、空格數、新字串長度,然後兩個指標分別指向原始字串末尾和新字串末尾,依次替換,遇到空格時則替換為"0" "2" "%".

#include #includevoid replaceblank(char string, int length)

int newlength = originallength + numberofblank * 2;

if (newlength > length)

return;

int indexoforiginal = originallength;

int indexofnew = newlength;

while (indexoforiginal >= 0 && indexofnew > indexoforiginal)

else

string[indexofnew--] = string[indexoforiginal];

--indexoforiginal; }}

//測試用例

//正常輸入

void test1()

printf("\n");

}//輸入沒有空格

void test2()

printf("\n");

}//連續兩個空格

void test3()

printf("\n");

}//空格在最後

void test4()

printf("\n");

}//輸入空指標

void test5()

printf("\n");

}//輸入乙個空格

void test6()

printf("\n");

}int main()

字串替換空格

點 抽象問題簡化問題 題意 乙個字串,比如 aaa baea erwe dsa dsa f a 替換其中的空格字元為 20 劍指offer面試題4 思路 這個問題的點在於,如果正常從頭到尾替換的話,每乙個被替換空格,它後面的全部字串都需要做整體移動 所以要設法想出,怎麼能夠減少字串移動 非空格字元需...

替換空格(字串)

思路一 利用string類的replaceall方法 public class solution 思路二 將字串轉換為字元陣列 建立乙個新的stringbuffer的物件,遍歷字元陣列,將不為空格的字元直接存入 當遇到空格時,存入 20 public class solution return st...

字串替換空格

思路 從字串的後面開始插入替換字元 首先遍歷整個字串得到插入後的總長度和空格的個數,再用兩個指標分別指向 p1指向替換前字串的末尾,p2指向替換後字串的末尾 當p1指向不是空格時,將其內容插入p2所在記憶體 當p1指向空格,用字元 20 插入 當p1 p2,或p1指向字串頭時 所有空格均已替換 則結...