Leetcode 28 Implement strStr()

xiaoxiao2025-04-05  15

Implement strStr().

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

Example 1:

Input: haystack = “hello”, needle = “ll” Output: 2

Example 2:

Input: haystack = “aaaaa”, needle = “bba” Output: -1

Clarification:

What should we return when needle is an empty string? This is a great question to ask during an interview.

For the purpose of this problem, we will return 0 when needle is an empty string. This is consistent to C’s strstr() and Java’s indexOf().

解题思路

这个题意很明确,就是求haystack字符串中是否包含needle字符串。

做法也很简单,直接对比字符串中的字符就行,如果不同后移一位继续对比。

不过需要注意特殊情况:

needle字符串为空串;needle.size()>haystack.size()

代码

class Solution { public: int strStr(string haystack, string needle) { if(needle.empty()) return 0; if(needle.size()>haystack.size()) return -1; for(int i=0;i<haystack.size();i++) { int flag=0; for(int j=0;j<needle.size();j++) { if(haystack[j+i]==needle[j]) flag++; else break; } if(flag==needle.size()) return i; if(i+needle.size()==haystack.size()) return -1; } } };
转载请注明原文地址: https://www.6miu.com/read-5027558.html

最新回复(0)