字串類題型(1) 子串(POJ2744)

2021-08-22 04:55:57 字數 1352 閱讀 2636

本題思路:選取輸入的數個字串中長度最小的那乙個,然後列舉其子串,和子串的反串,然後對比輸入的字串驗證結果。

關於這一題一定要記住幾個常用的字串函式:

1. strncpy:  strncpy(substr,a+j,i);   這裡substr為複製到的字串,a+j為串頭位址,i為要複製的子串長度。

2.strrev:      strrev(revsub);  這樣就行了,反轉之後無需再做多餘操作。

3.strstr        strstr(char *s1,char *s2)   如果s2是s1的乙個子串,返回其在s1中第一次出現的位置,否則返回null。

4.strchr(char *s,char c)       如果s中包含字元c,則返回乙個s中第一次出現該字元的指標,否則返回null。

千萬注意strncpy取字串時,需在所取字串末尾加'\0'   !

總時間限制: 

1000ms

記憶體限制: 

65536kb

描述現在有一些由英文本元組成的大小寫敏感的字串,你的任務是找到乙個最長的字串x,使得對於已經給出的字串中的任意乙個y,x或者是y的子串,或者x中的字元反序之後得到的新字串是y的子串。

輸入輸入的第一行是乙個整數t (1 <= t <= 10),t表示測試資料的數目。對於每一組測試資料,第一行是乙個整數n (1 <= n <= 100),表示已經給出n個字串。接下來n行,每行給出乙個長度在1和100之間的字串。

輸出對於每一組測試資料,輸出一行,給出題目中要求的字串x的長度。

樣例輸入

2

3abcd

bcdff

brcd

2rose

orchid

樣例輸出

2

2

#include#include#includechar str[101][101];

int n;

bool flag; //該標誌判定是否存在公共

void reverse(char a[101])

a[length]=0;

}int judgemin(char a[101])

}if(flag==true)

return i;

} }return 0;

}int main()

int minlen=101;

char min[101];

for(int i=1;i<=n;i++)

}int ans=judgemin(min);

printf("%d\n",ans);

} return 0;

}

274 最長字串鏈

題目描述 給出乙個單詞列表,其中每個單詞都由小寫英文本母組成。如果我們可以在 word1 的任何地方新增乙個字母使其變成 word2,那麼我們認為 word1 是 word2 的前身。例如,abc 是 abac 的前身。詞鏈是單詞 word 1,word 2,word k 組成的序列,k 1,其中 ...

字串子串

定義變數 string this is a test 取字串長度,空格也算 從positon處提取字串,positon從0 開始.也可以認為是提取postion之後字串,不算position處 從position位置處取length長的字串.也可以 echo cut c 1 4,取1 4的字元,1 ...

sgu274 Spam filter 字串模擬

題目大意 乙個合法的em ail 位址應該滿足如下條件 1.le tter 為大寫或小寫字母 2.sy mbol 為let ter 或數字或 3.wo rd由若干個sy mbol 連線而成 4.pr efix 由若干個wo rd連線而成,中間以 隔開 5.do main 由兩個或三個le tter ...