MT1509 查找子串2(BF)

输入2个字符串其中,第一个字符串可能包含第二个字符串。输出其第一次出现位置,若不存在,则输出-1

输入格式:
输入2个字符串,长度均小于100

输出格式:
字符串的开始的位置

输入:
asdzichuanqewr
zichuan

输出:
3

#include <iostream>
#include <algorithm>
#include <string>
using namespace std;

int BF(string s,string t)
{
   
	int i=0,j=0;
	while(i<s.size() && j<t.size())
	{
   
		if(s[i] == t[j])
		{
   
			i++,j++;
		} else {
   
			i = i-j+1;
			j = 0;
		}
	}
	
	return (j>=t.size())? (i-t.size()):-1;
}

int main()
{
   
	string x,y;
	
	getline(cin,x);
    getline(cin,y);
	
	int cnt = BF(x,y);
	
	if(cnt == -1)
		cout<<"-1"<<endl;
	else
		cout<<cnt<<endl;
	return 0;
}

相关推荐

  1. MT1509 查找2(BF)

    2023-12-12 08:52:03       57 阅读
  2. 查找方法总结

    2023-12-12 08:52:03       27 阅读
  3. 查找第一次出现的位置(头歌)

    2023-12-12 08:52:03       24 阅读
  4. L2-008 最长对称(manacher()算法)

    2023-12-12 08:52:03       38 阅读
  5. 力扣经典150题第三十三题:最小覆盖

    2023-12-12 08:52:03       36 阅读
  6. 力扣2156.查找给定哈希值的

    2023-12-12 08:52:03       31 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2023-12-12 08:52:03       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2023-12-12 08:52:03       100 阅读
  3. 在Django里面运行非项目文件

    2023-12-12 08:52:03       82 阅读
  4. Python语言-面向对象

    2023-12-12 08:52:03       91 阅读

热门阅读

  1. SpringCloud常见问题

    2023-12-12 08:52:03       50 阅读
  2. Redis Helper封装:静态方法

    2023-12-12 08:52:03       51 阅读
  3. Spark

    2023-12-12 08:52:03       42 阅读
  4. 09 # 函数相关知识点梳理

    2023-12-12 08:52:03       53 阅读
  5. HTTP常见错误码原因以及解决办法

    2023-12-12 08:52:03       59 阅读
  6. MySQL常用基础命令

    2023-12-12 08:52:03       54 阅读
  7. react相关hooks(二)

    2023-12-12 08:52:03       54 阅读
  8. 浏览器面试

    2023-12-12 08:52:03       49 阅读