您的位置:首页 > 其它

【leetcode】28. Implement strStr()

2015-07-15 21:30 495 查看
所有题目索引

题目

Implement strStr().

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

Update (2014-11-02):

The signature of the function had been updated to return the index instead of the pointer. If you still see your function signature returns a char * or String, please click the reload button to reset your code definition.

找到一个字符串中是否存在目标字符串,不存在返回-1,存在返回其首字母索引

思路

暴力双循环解法,但是要注意目标字符串为空的情况

代码

Python代码

class Solution:
# @param {string} haystack
# @param {string} needle
# @return {integer}
def strStr(self, haystack, needle):
needleLen = len(needle)
haystackLen = len(haystack)
pos = -1
if haystackLen < needleLen:
return pos
for i in range(haystackLen-needleLen+1):
for n,j in enumerate(range(i,i+needleLen)):
if haystack[j] == needle
:
pass
else:
break
else:
pos = i
break
return pos


Java代码

public class Solution {
public int strStr(String haystack, String needle) {
if(haystack.length()<needle.length())
{
return -1;
}
if(needle.length()==0) return 0;
for(int i=0; i<=haystack.length()-needle.length();i++)
{
for(int j=0;j<needle.length();j++)
{
if(haystack.charAt(i+j) == needle.charAt(j))
{
if(j == needle.length()-1) return i;
continue;
}else{
break;
}
}
}
return -1;
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  leetcode