程式設計師金典 翻轉子串

2021-09-25 10:06:46 字數 804 閱讀 1232

題目描述

假定我們都知道非常高效的演算法來檢查乙個單詞是否為其他字串的子串。請將這個演算法編寫成乙個函式,給定兩個字串s1和s2,請編寫**檢查s2是否為s1旋轉而成,要求只能呼叫一次檢查子串的函式。

給定兩個字串s1,s2,請返回bool值代表s2是否由s1旋轉而成。字串中字元為英文本母和空格,區分大小寫,字串長度小於等於1000。

測試樣例:

「hello world」,"worldhello "

返回:false

「waterbottle」,「erbottlewat」

返回:true

解析:s1=waterbottle

s2=erbottlewat

s1s1=waterbottlewaterbottle

發現s2總是s1s1的子串

呼叫檢查子串的函式

c++中有兩個:

char * strstr(const char *str1, const char *str2);

功能為在str1中查詢str2,如果存在,那麼返回查詢到的起始指標,否則返回null。

string::size_type string::find(string &);

功能為在string物件中,查詢引數string型別的字串是否存在,如果存在,返回起始位置。不存在則返回 string::npos。

c++**

class reverseequal 

};

或者

class reverseequal 

};

程式設計師面試金典 1 8 翻轉子串

假定我們都知道非常高效的演算法來檢查乙個單詞是否為其他字串的子串。請將這個演算法編寫成乙個函式,給定兩個字串s1和s2,請編寫 檢查s2是否為s1旋轉而成,要求只能呼叫一次檢查子串的函式。給定兩個字串s1,s2,請返回bool值代表s2是否由s1旋轉而成。字串中字元為英文本母和空格,區分大小寫,字串...

程式設計師金典 子串判斷

題目描述 現有乙個小寫英文本母組成的字串s和乙個包含較短小寫英文本串的陣列p,請設計乙個高效演算法,對於p中的每乙個較短字串,判斷其是否為s的子串。給定乙個string陣列p和它的大小n,同時給定string s,為母串,請返回乙個bool陣列,每個元素代表p中的對應字串是否為s的子串。保證p中的串...

程式設計師面試金典

1.有個小孩正在上樓梯,樓梯有n階台階,小孩一次可以上1階 2階 3階。請實現乙個方法,計算小孩有多少種上樓的方式。為了防止溢位,請將結果mod 1000000007 給定乙個正整數intn,請返回乙個數,代表上樓的方式數。保證n小於等於100000。int countways int n retu...