• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>

            Uriel's Corner

            Research Associate @ Harvard University / Research Interests: Computer Vision, Biomedical Image Analysis, Machine Learning
            posts - 0, comments - 50, trackbacks - 0, articles - 594

            [LeetCode]Implement strStr()-2014.01.08

            Posted on 2014-01-11 02:20 Uriel 閱讀(108) 評論(0)  編輯 收藏 引用 所屬分類: LeetCode
            實現strstr函數,直接上KMP模板了...
            trick是模板串為空的情況,此時直接返回待查串頭指針

             1 class Solution {
             2 public:
             3     int nxt[1000010];
             4     void GetNxt(char *str) {
             5         nxt[0] = -1;
             6         int i = 1, j = 0;
             7         while(str[i]) {
             8             if(j == -1 || str[i] == str[j]) {
             9                 ++i; ++j;
            10                 if(str[i] != str[j]) nxt[i] = j;
            11                 else
            12                     nxt[i] = nxt[j];
            13             }
            14             else
            15                 j = nxt[j];
            16         }
            17     }
            18     
            19     char *strStr(char *haystack, char *needle) {
            20         int i = 0, j = 0, s_len, p_len, sum = 0;
            21         GetNxt(needle);
            22         s_len = strlen(haystack); p_len = strlen(needle);
            23         if(p_len == 0) return haystack;
            24     M:    while(i < s_len && j < p_len) {
            25             if(j == -1 || haystack[i] == needle[j]) {
            26                 if(j == p_len - 1) return haystack + i - p_len + 1;
            27                 ++i; ++j;
            28             }
            29             else
            30                 j = nxt[j];
            31         }
            32         return NULL;
            33     }
            34 };
            久久久久国产亚洲AV麻豆| 欧美黑人又粗又大久久久| 久久996热精品xxxx| 国产精品青草久久久久福利99| 久久精品18| 久久丫忘忧草产品| 久久精品国产半推半就| 开心久久婷婷综合中文字幕| 亚洲午夜久久久影院伊人| 99久久国产主播综合精品| 久久久久国产精品人妻| 四虎国产精品免费久久久| 久久夜色精品国产噜噜亚洲a| 狠狠色婷婷久久一区二区三区 | 1000部精品久久久久久久久| 91麻精品国产91久久久久| 久久精品国产久精国产一老狼| 久久婷婷综合中文字幕| 久久强奷乱码老熟女网站| 精品无码久久久久久久动漫| 久久国产欧美日韩精品| 久久天天躁夜夜躁狠狠| 久久精品国产只有精品66| A狠狠久久蜜臀婷色中文网| 久久婷婷五月综合色奶水99啪| 国内精品久久久久影院免费| 亚洲精品国产美女久久久| 欧美色综合久久久久久| 国产激情久久久久影院老熟女| A狠狠久久蜜臀婷色中文网| 亚洲AV日韩精品久久久久| 久久人妻无码中文字幕| 久久久久久久精品妇女99| 日韩精品久久久久久久电影| 久久久久这里只有精品| 久久国产精品视频| 国产亚州精品女人久久久久久 | 99久久99久久精品国产片果冻| 欧美亚洲日本久久精品| 久久久精品人妻无码专区不卡| 国产精品久久久久一区二区三区 |