LeetCode实现strStr()字符串匹配(C语言)
2019-03-14 22:09
260 查看
给定一个 haystack 字符串和一个 needle 字符串,在 haystack 字符串中找出 needle 字符串出现的第一个位置 (从0开始)。如果不存在,则返回 -1。
示例 1:
输入: haystack = "hello", needle = "ll" 输出: 2
示例 2:
输入: haystack = "aaaaa", needle = "bba" 输出: -1
说明:
当 needle 是空字符串时,我们应当返回什么值呢?这是一个在面试中很好的问题。 对于本题而言,当 needle 是空字符串时我们应当返回 0 。这与C语言的 strstr() 以及 Java的 indexOf() 定义相符。
int strStr(char* haystack, char* needle) { int m=strlen(haystack); int n=strlen(needle); if(n==0) return 0; if(m<n||m==0) return -1; char *p=haystack; char *p2=needle; char *p1=p2; int b=0,a=0; bool fl=true; while(*p!='\0') { fl=true; while(*p1!='\0') { if(*(p+b)=='\0') return -1; if(*(p+b)!=*p1&&*(p+b)!='\0') { fl=false; break; } b++; p1++; } if(*p1=='\0'){ if(fl) return a; } p1=p2; p++; a++; b=0; } return -1; }
相关文章推荐
- [算法]字符串匹配算法之BM算法,C语言实现
- CSP考试 2014年09月第3题 字符串匹配 C语言实现
- [LeetCode]28 实现子字符串匹配
- [LeetCode-28] Implement strStr(KMP 字符串匹配)
- LeetCode-28-Implement strStr()(字符串匹配)
- C语言实现字符串匹配KMP算法
- 回溯字符串【C语言】朴素字符串匹配算法及其实现
- 常见的字符串匹配算法对比实现C语言版本
- KMP字符串匹配算法及C语言实现
- leetcode 字符串匹配Implement strStr()
- 【C语言】朴素字符串匹配算法及其实现
- C语言实现的带通配符的字符串匹配
- [LeetCode]Implement strStr() 字符串匹配
- LeetCode: Implement strStr()(字符串匹配:Sunday算法)
- LeetCode Implement strStr()(朴素的字符串匹配,RK算法,KMP算法)
- 字符串匹配--Sunday算法-C语言实现
- 字符串匹配KMP算法的C语言实现
- Leetcode28. kmp算法实现字符串匹配
- c语言实现strstr字符查找, strcmp字符比较
- kmp算法字符串匹配C语言实现