Implement strStr() [LeetCode]

Implement strStr().

Returns a pointer to the first occurrence of needle in haystack, or null if needle is not part of haystack.

Summary: be careful about the corner case, haystack = "", needle = ""

 1     char *strStr(char *haystack, char *needle) {
 2         if(haystack[0] == '' && needle[0] == '')
 3             return haystack;
 4             
 5         int hay_idx = 0;
 6         while(haystack[hay_idx] != ''){
 7             bool find = true;
 8             int tmp_idx = hay_idx;
 9             int needle_idx = 0;
10             while(needle[needle_idx] != ''){
11                 if(haystack[tmp_idx] == '')
12                     return NULL;
13                 if(haystack[tmp_idx] != needle[needle_idx]){
14                     find = false;
15                     break;
16                 }
17                 tmp_idx ++;
18                 needle_idx ++;
19             }
20             if(find)
21                 return haystack + hay_idx;
22             else
23                 hay_idx ++;
24             
25         }
26         return NULL;
27     }
原文地址:https://www.cnblogs.com/guyufei/p/3439059.html