lintcode ----字符串查找
2016-05-18 17:34
531 查看
int strStr(const char *source, const char *target) { // write your code here int i=0; int j=-1; if(source==NULL||target==NULL)//哪一个为空都找不到首个位置 return -1; if(*target=='\0')//这时候source不为NULL,无论source是什么,空串从0开始匹配 return i; while(*source!='\0')//source到末尾 { j++; //需要返回的位置后移 if(*source==*target)//首字母相同 { i=j; const char *p = source;//申明两个指针分别指向source 和 target const char *q = target; while(*p==*q) { if(*(q+1)=='\0') //直到target到达末尾 return i; else //否则指针后移 { p++; q++; } } } source++; //不相等,source后移 } return -1; //没找到,返回-1 }
相关文章推荐
- iOS 创建一个可以点击并拖拽的Button
- 机器学习的学习笔记1
- winserver2008 Oracle 11g 安装
- YII 自动生成实体模版
- mssql表变量和临时表
- Android Studio 百度地图 230错误 Scode码校验失败
- 【MongoDB】MongoDB入门(一)基本操作&常用命令
- Problem A - Sum Kind Of Problem 2015 ACM/ICPC Greater New York Region
- servlet3.0新特性Servlet3.0引入的若干重要新特性,包括异步处理、新增的注解支持、可插性支持等等
- 学生信息系统错误分析2
- GL_BOOK_1
- ubuntu14.04 configure: error: xml2-config not found. Please check your libxml2 installation错误解决
- cocos2d-x手游性能优化总结
- RPC学习了解
- MKDirections绘制导航路线
- Android关于手机适配的一些问题
- Python处理Windows事件日志(json)
- 用Java处理大数据小技巧总结
- BestCoder Round #58 LCS
- 如何在终端关闭火狐