题目描述
对于两个字符串A,B。请设计一个高效算法,找到B在A中第一次出现的起始位置。若B未在A中出现,则返回-1。
给定两个字符串A和B,及它们的长度lena和lenb,请返回题目所求的答案。
测试样例:
"acbc",4,"bc",2
返回:2
用库函数的话就是:
class StringPattern {
public:
int findAppearance(string A, int lena, string B, int lenb) {
// write code here
if(lenb>lena)
return -1;
if(A.find(B)!=A.npos)
return A.find(B);
else
return -1;
}
};用KMP,有空再写一个。。。待更新