LintCode 字符串查找
2015-07-01 16:01
399 查看
字符串查找(又称查找子字符串),是字符串操作中一个很有用的函数。你的任务是实现这个函数。
对于一个给定的 source 字符串和一个 target 字符串,你应该在 source 字符串中找出 target 字符串出现的第一个位置(从0开始)。
如果不存在,则返回
样例
如果 source =
target =
如果 source =
target =
对于一个给定的 source 字符串和一个 target 字符串,你应该在 source 字符串中找出 target 字符串出现的第一个位置(从0开始)。
如果不存在,则返回
-1。
样例
如果 source =
"source"和
target =
"target",返回
-1。
如果 source =
"abcdabcdefg"和
target =
"bcd",返回
1。
class Solution { public: /** * Returns a index to the first occurrence of target in source, * or -1 if target is not part of source. * @param source string to be scanned. * @param target string containing the sequence of characters to match. */ int strStr(const char *source, const char *target) { // write your code here int result = -1; int i = 0; int j = -1; if (source == nullptr || target == nullptr) { return result; } if ( *target == '\0') return i; while (*source !='\0') { ++j; if(*source == *target) { i = j; const char *p = source; const char *q = target; while (*p == *q) { if (*(q+1) =='\0') { return i; } p++; q++; } } ++source; ++i; } return result; } };
相关文章推荐
- mshaodw-ps模块学习
- hdu 4542
- 诸葛分享:精细化APP运营要注意些什么呢?
- Ubuntu系统和编译环境安装
- expected unqualified-id before numeric constant
- 动态规划
- [转]自然语言分词工具
- 配置apache和php mysql的一些问题
- 什么是原型语言
- WEB服务器与应用服务器的区别
- LeetCode Merge Sorted Array
- ARM开发详解电子书在线阅读
- CSS3 animation 逐帧动画
- 64位win7下mysql5.6免安装
- PHP抓取网页、解析HTML常用的方法总结
- POJ2413二分
- 【故障解决】Ubuntu 登陆黑屏,无限卡在登陆页面的解决方法
- Android 点击按钮隐藏键盘
- Linux 下进程的内存空间分配
- linux内存源码分析 - 伙伴系统(初始化和申请页框)