LeetCode28——实现strStr()

  6月中下旬辞职在家,7 月份无聊的度过了一个月。8 月份开始和朋友两个人写项目,一个后台和一个 APP ,APP 需要对接蓝牙打印机。APP 和蓝牙打印机都没有搞过,开始打算使用 MUI 开发 APP ,这样学习成本会低一些。但是蓝牙打印机的供应商不提供打印机的指令集,只提供了原生 Android 的 SDK ,因此无奈必须要学习 Android 的原生开发。8 月份加油啊!

LeetCode 题库的第 28 题——实现strStr()

  题目如下:

 

解题代码

  该题就是两层循环,第一层循环主要是遍历字符串,第二层循环用来进行匹配。实现代码如下:

 1 int strStr(char* haystack, char* needle) {
 2     int pos = -1;
 3     int str1len = strlen(haystack);
 4     int str2len = strlen(needle);
 5     
 6     int i, n, j;
 7     
 8     if ( str2len == 0 ) {
 9         return 0;
10     }
11     
12     for ( i = 0; i < str1len; i ++ ) {
13         n = i;
14         for ( j = 0; j < str2len; j ++ ) {
15             if ( haystack[n++] == needle[j] ) {
16                 if ( j == str2len - 1 ) {
17                     pos = i;
18                     goto EXIT;
19                 }
20             } else {
21                 break;
22             }
23         }
24     }
25 EXIT:
26     return pos;
27 }

  以上是我的解题代码,就是使用两层来进行实现,没有太好的思路,所以解题思路就没什么可说的了。

猜你喜欢

转载自www.cnblogs.com/tosser/p/9452568.html