字串abcdef向左翻轉一位的結果為fabcde,向右翻轉翻轉一位的結果為bcdefa.向左翻轉兩位的結果為efabcd,向右翻轉兩位的結果為cdefab。
要判斷乙個字串是否是另乙個字串翻轉後的結果,必須遍歷向左翻轉和向右翻轉0-len(arr)-1位的所有情況。
我定義了乙個翻轉函式reverse,返回值為空,引數為兩個指標,第乙個是翻轉的起始位址,第二個是翻轉的結束位址。要想實現向左翻轉n位的效果,先對字串整體翻轉,然後把第n位,到len(arr)-1位進行翻轉就得到了向左翻轉的結果。要實現向右翻轉,也是對整體翻轉,然後把第0位到第n位進行翻轉就得到了向右翻轉的結果。
為了節約空間,我沒有開闢其他陣列,所以每次翻轉後,還需要把字串恢復為原始的abcdef。
實現**如下
#include
#include
#include
void reverse(char* begin, char* end)
}int cmp_reverse(char arr, char arr2,int len,char * begin)
for (int i = 1; i < len; i++)
else
}for (int i = 1; i < len; i++)
else
}return0;}
int main()
判斷乙個字串是否是另乙個字串的子集
案例 c 開發 遇到模糊查詢的功能實現,不是直接查詢資料庫,而是匹配另外一些本地資料。string a asd string b asdsdad 其實a b的值都是取得動態資料。一開始自己寫了乙個函式用來判斷a是否在b中,for 迴圈即可。後來,才知道.net平台有這樣的函式,判斷字串的子集的索引號...
判斷乙個字串是否在另乙個字串中
方法一 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...
c 判斷乙個字串是否包含另乙個字串
c 開發過程中針對字串string型別的操作是常見操作,有時候需要判斷某個字串是否包含在另乙個字串,此時可以使用indexof方法以及contain方法來實現此功能,contain方法返回true和false,而indexof方法可以返回所在的索引位置,如果為查詢到對應的字串,則返回 1。c 中字串...