We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
There was an error while loading. Please reload this page.
1 parent c8a98ac commit 56a878cCopy full SHA for 56a878c
leetcode/cpp/string/28.cpp
@@ -0,0 +1,28 @@
1
+class Solution {
2
+public:
3
+ int strStr(string haystack, string needle) {
4
+ if(needle=="")
5
+ return 0;
6
+ double needle_hash=0, hay_hash=0;
7
+ for(int i=0;i<needle.size();++i)
8
+ {
9
+ needle_hash+=((needle[i]-'a')*pow(3,i));
10
+ }
11
12
13
+ hay_hash+=((haystack[i]-'a')*pow(3,i));
14
15
+ int k=0;
16
+ do
17
18
+ if(needle_hash==hay_hash)
19
+ return k;
20
+ if(k+needle.size()>haystack.size())
21
+ return -1;
22
+ hay_hash-=(haystack[k]-'a');
23
+ hay_hash/=3;
24
+ hay_hash+=((haystack[k+needle.size()]-'a')*pow(3,needle.size()-1));
25
+ k++;
26
+ }while(1);
27
28
+};
0 commit comments