#include<stack>
#include<iostream>
#include<string>
using namespace std;
void main()
{
char str1[] = "abcdefhkhhhhghghkxx";
char str2[] = "abd";
stack<char> S1;
int i = 0;
int temp = 0;
int flag=0;
if (strlen(str2) == 0) {
cout << "strlen(str2) == 0" << endl;
}
for (; i< strlen(str1);)
{
S1.push(str1[i]);
if (S1.top() == str2[temp])
{
for (; temp < strlen(str2); )
{
S1.push(str1[++i]);
if (S1.top() == str2[++temp])
continue;
else
{
flag = 1;
break;
}
}
if (flag > 0)
{
S1.pop();
break;
}
}
else {
S1.pop();
i++;
}
}
if (temp == strlen(str2))
{
cout << i-temp;
}
}
查找子字符串
最新推荐文章于 2022-06-05 16:39:34 发布