字符串匹配算法,实现strStr()

这篇博客探讨了一种简单的字符串查找算法,即在一个大的文本(haystack)中寻找目标子串(needle)的首次出现位置。代码简洁明了,适用于基础的字符串搜索。通过对haystack的遍历和内部的嵌套循环,检查每个字符是否与needle匹配,当找到匹配的子串时返回起始位置。若遍历结束未找到,则返回-1。这个算法是字符串处理的基础,对于理解字符串操作很有帮助。
摘要由CSDN通过智能技术生成

在这里插入图片描述
这一题比较简单,就是返回haystack中第一次遇到needle字符串的位置。
但是要快速写出比较清爽的代码会有点难,记录于此以备参考

 int strStr(string haystack, string needle) 
    {
        if(needle.size()==0)
			return 0;
		int j=0,flag,i;
		for(i=0;i<haystack.size();i++)
        {
			if(haystack[i]==needle[0])
				flag=0;
			for(j=0;j<needle.size();j++)
            {
				if(haystack[i+j]!=needle[j])
                {
					flag=1;
					break;
				}
			}
			if(flag==0)
			    return i;
		}
		return -1;
	}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值