字符串的匹配,返回匹配开始的位置,直接用暴力方式求解。为了更快的匹配,定义一个指针表示待匹配的字符串的长度,当长度不足时,可

直接停止匹配。

char *strStr(char *haystack, char*needle)
{
char* p1;
char* p2;
char* p1_advance=haystack; //当字符串数量不足时,直接停止匹配
for (p2 = &needle[]; *p2; p2++)
p1_advance++; for (p1 = haystack; *p1_advance; p1_advance++)
{
char *p1_old = p1;
p2 = needle;
while (*p1 && *p2 && *p1 == *p2)
{
p1++;
p2++;
}
if (!*p2)return p1_old; p1 = p1_old + ;
} return nullptr;
}

最新文章

  1. Java的异步HttpClient
  2. Web项目从Oracle转为Mysql,fluentnhibernate-1.0和NHibernate2.1.0升级到NHibernate3.3的注意事项
  3. 禁止apache显示目录索引的常见方法(apache禁止列目录)
  4. jenkins插件开发-此路是我开
  5. maven3.04管理jetty9.2.10启动web项目
  6. Linux Apache和Nginx网络模型详解
  7. Codeforces Round #257 (Div. 1) (Codeforces 449B)
  8. Oracle使用%type类型的变量输出结果
  9. OpenStack重启之后,dashboard登录不上去
  10. Swift - .plist文件数据的读取和存储
  11. 使用node.js检查js语法错误
  12. LINUX 笔记-crontab命令
  13. 使用Fiddler改变线上js文件的引用路径
  14. PdfReader按页将PDF切割成多个PDF
  15. 小程序map组件默认层级最高,并且不能设置的解决方案
  16. 自学Python3.5-字符串格式化 作用域 递归
  17. python模块介绍- binascii:二进制和ASCII互转以及其他进制转换
  18. histogram 和 bar plot的区别
  19. iOS:viewController 和 view 的生命周期、不错的代码设计风格
  20. Python-Flask实现电影系统管理后台

热门文章

  1. CF#498 1006F Xor-Paths
  2. SAPI 包含sphelper.h编译错误解决方案
  3. CodeForces.158A Next Round (水模拟)
  4. HDOJ.1070 Milk(贪心)
  5. bzoj2120: 数颜色(BIT套主席树+set/分块)
  6. Python中的结构化数据分析利器-Pandas简介
  7. Moodle插件开发系列——XMLDB编辑器
  8. vue-transition-animation
  9. JAVA、android中常用的一些jar包的作用
  10. UVA 12716 GCD XOR