leetcode 之Implement strStr()(27)

Posted 牧马人夏峥

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了leetcode 之Implement strStr()(27)相关的知识,希望对你有一定的参考价值。

字符串的匹配,返回匹配开始的位置,直接用暴力方式求解。为了更快的匹配,定义一个指针表示待匹配的字符串的长度,当长度不足时,可

直接停止匹配。

char *strStr(char *haystack, char*needle)
      {
          char* p1;
          char* p2;
          char* p1_advance=haystack;

          //当字符串数量不足时,直接停止匹配
          for (p2 = &needle[1]; *p2; p2++)
              p1_advance++;

          for (p1 = haystack; *p1_advance; p1_advance++)
          {
              char *p1_old = p1;
              p2 = needle;
              while (*p1 && *p2 && *p1 == *p2)
              {
                  p1++;
                  p2++;
              }
              if (!*p2)return p1_old;

              p1 = p1_old + 1;
          }

          return nullptr;
      }
View Code

 

以上是关于leetcode 之Implement strStr()(27)的主要内容,如果未能解决你的问题,请参考以下文章

LeetCode - 28. Implement strStr()

LeetCode Implement Queue using Stacks

[LeetCode]Implement Stack using Queues

LeetCode:Implement Queue using Stacks

LeetCode:Implement Stack using Queues

LeetCode Implement Stack using Queues