程式設計練習 字串系列

2021-08-25 11:39:54 字數 1466 閱讀 9476

(1)空格替換

請編寫乙個方法,將字串中的空格全部替換為「%20」。假定該字串有足夠的空間存放新增的字元,並且知道字串的真實長度(小於等於1000),同時保證字串由大小寫的英文本母組成。

給定乙個string inistring 為原始的串,以及串的長度 int len, 返回替換後的string

測試樣例: 「mr john smith」,13

返回:」mr%20john%20smith」

」hello world」,12

返回:」hello%20%20world」

思路:建立新的字串,是原字串中非空格字元就拷貝到新字串,如果遇到空格就替換。

**實現:

class replacement 

else

}return newstr;

}};

(2)左旋字串

組合語言中有一種移位指令叫做迴圈左移(rol),現在有個簡單的任務,就是用字串模擬這個指令的運算結果。對於乙個給定的字串行s,請你把其迴圈左移k位後的序列輸出。例如,字串行s=」abcxyzdef」,要求輸出迴圈左移3位後的結果,即「xyzdefabc」。是不是很簡單?ok,搞定它!

思路:三次翻轉法

原字串:abcxyzdef

第一次翻**fedzyxcba

第二次翻**xyzdefcba

第三次翻**xyzdefabc

**實現:

class

solution

};

(3)找出字串中第乙個只出現一次的字元

輸入描述: 輸入乙個非空字串 輸出描述: 輸出第乙個只出現一次的字元,如果不存在輸出-1

示例1

輸入 asdfasdfo

輸出 o

**實現:

#include

#include

using

namespace

std;

string fun(string str)

;//儲存出現的次數

string res = "-1";

for(int i = 0;i < size;i++)

for(int i = 0;i < size;i++)

}return res;

}int main()

private:

vector

ret;

void dfs(string str, int s)

for(int i = s; i < sz; ++i)

} };

程式設計練習 字串相關

1.題目 設計函式 void insert char s,char t,int pos 在串s的位置pos 1和pos之間插入串t。假設分配給串s的空間足以插入串t。要求不使用任何字串庫函式。include using namespace std void insert char s,char t,...

C語言程式設計練習 字串A B

本題要求你計算a b。不過麻煩的是,a和b都是字串 即從字串a中把字串b所包含的字元全刪掉,剩下的字元組成的就是字串a b。輸入在2行中先後給出字串a和b。兩字串的長度都不超過10 4 並且保證每個字串都是由可見的ascii碼和空白字元組成,最後以換行符結束。在一行中列印出a b的結果字串。i lo...

串結構練習 字串匹配

time limit 1000ms memory limit 65536k 給定兩個字串string1和string2,判斷string2是否為string1的子串。輸入包含多組資料,每組測試資料報含兩行,第一行代表string1,第二行代表string2,string1和string2中保證不出現...