程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> C++ >> C++入門知識 >> LeetCode 28 Implement strStr()

LeetCode 28 Implement strStr()

編輯:C++入門知識

LeetCode 28 Implement strStr()


翻譯

實現strStr()函數。

返回針(needle)在草垛/針垛(haystack)上第一次出現的索引, 如果不存在其中則返回-1。

其實也就是說字符串str2在字符串str1中第一次出現的索引而已。

原文

Implement strStr().

Returns the index of the first occurrence of needle in haystack, 
or -1 if needle is not part of haystack.

代碼

class Solution {
public:
    bool compare(string s1, int index, string s2) {
        int count = 0;
        for (int i = 0; i < s2.length(); i++) {
            if (s2[i] == s1[i + index])
                count++;
        }
        if (count == s2.length())
            return true;
        return false;
    }         
    int strStr(string haystack, string needle) {
        for (int i = 0; i < haystack.length(); i++) {
            if (haystack[i] == needle[0]) {
                if (compare(haystack, i, needle))
                    return i;
            }
        }
        return -1;
    }
};

發現超時了……其實在測試之前就看到了別人的答案……驚呆了……這樣都可以?

 class Solution {
    public:
        int strStr(string haystack, string needle) {

            return haystack.find(needle);

        }
    };

也算是長見識了……

 

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved