如果乙個字串str,把字串str前面的任意部分挪到後面形成的字串叫做str的旋轉詞。給定兩個字串,判斷是否互為旋轉詞。比如 a="abcd",b="cdab",true a="abcd",b="bcad",false
【解題思路】
如果長度不一樣,肯定是false,如果長度一樣,時間複雜度是o(n)。
方法一:直接利用string的contains 方法
方法二:看contains方法的原始碼,套用它的原始碼的方法
packagecom.test;
/*** created by demrystv. */
public
class
isrotation
string b2 = b +b;
return b2.contains(a);//
可以看其底層實現過程
}
/*** 方法二:看contains方法的原始碼,套用它的原始碼的方法
* @param
a *
@param
b *
@return
*/public
boolean
isrotation2(string a, string b)
string b2 = b +b;
return indexof(b2, a, 0) > -1;
}private
int indexof(string b2, string a, int
index)
private
int func(char source, int sourceoffset, int
sourcecount,
char target, int targetoffset, int
targetcount,
intfromindex)
if (fromindex < 0)
if (targetcount == 0)
char first =target[targetoffset];
int max = sourceoffset + (sourcecount -targetcount);
for (int i = sourceoffset + fromindex; i <= max; i++)
if (i <=max) }}
return -1;
}}
判斷兩個字串是否相同
data segment mess1 db computer software mess2 db computer software data ends code segment assume ds data,cs code start mov ax,data mov ds,ax mov es,ax...
字串問題 判斷兩個字串是否為變形詞
問題 給定兩個字串str1和str2,如果str1和str2中出現的字元種類一樣並且每種字元出現的次數也一樣,那麼str1與str2互為變形詞。請實現函式判斷兩個字串是否互為變形詞。舉例 str1 123 str2 231 返回true str1 123 str2 2331 返回false 基本思路...
字串 判斷兩個字串是否為變形詞
問題 給定兩個字串str1和str2,如果str1和str2中出現的字元種類一樣並且每種字元出現的次數也一樣,那麼str1與str2互為變形詞。請實現函式判斷兩個字串是否互為變形詞。舉例 str1 123 str2 231 返回true str1 123 str2 2331 返回false 基本思路...