筆試題 查詢乙個字串在另乙個字串中的連線次序

2021-06-09 22:31:06 字數 905 閱讀 8496

輸入兩個字串,比如abdbcc和abc,輸出第二個字元在第乙個字元中的連線次序。即輸出125,126,145,146.

先找到第二個字串中各個字元在第乙個字串中分別出現的位置,利用位置構造多叉樹(構造規則為字節點必須小於父節點)。遍歷構造完成的多叉樹即為相應的組合。本例為

2      4

5  6  5  6

利用遞迴。先找出第乙個字元出現的位置,後面的遞迴處理。遞迴出口為找到最後未找到結果或者找到結果(出現次數的和第二個字串長度相同)。

遞迴 **的實現:

#include#includeusing namespace std;

void printarr(char* srcarr, char* subarr, int* result, int srcstart, int srcend, int substart, int subend, int resultstart)

if(resultstart == subend) //已經找到乙個結果,輸出

for(int i = srcstart; i < srcend; i++)

for(int j = substart; j < subend; j++)

if(srcarr[i] == subarr[j])//找到第乙個相同的字元,遞迴處理後面的

}void findsubindex(char* srcarr, char* subarr)

int *result = new int[subsize]();

if(result == null)

printarr(srcarr, subarr, result, 0, srcsize, 0, subsize, 0);

}int main(int argc,char *argv)

判斷乙個字串是否在另乙個字串中

方法一 string str1 nihaoksdoksad string str2 ok int total 0 for string tmp str1 tmp null tmp.length str2.length tmp tmp.substring 1 system.out.println st...

java獲取乙個字串在另乙個字串中出現的次數

獲取乙個字串在另乙個字串中出現的次數。abkkcdkkefkkskk 思路 1,定義個計數器。2,獲取kk第一次出現的位置。3,從第一次出現位置後剩餘的字串中繼續獲取kk出現的位置。每獲取一次就計數一次。4,當獲取不到時,計數完成。class stringtest2 return count 練習三...

Java統計乙個字串在另乙個字串中出現的次數

1.鍵盤錄入乙個大字串,再錄入乙個小字串 2.統計小字串在大字串中出現的次數 3.執行列印格式 請輸入大字串 woaichina,chinabutongyubaima,wulunchinahaishijpan,zhaodaogongzuojiushihaoma 請輸入小字串 china 控制台輸出 ...