Java [leetcode 28]Implement strStr()

题目描述:

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.

解题思路:

从开头开始,逐个匹配。

注意特殊情况。

代码如下:

public class Solution {
    public static int strStr(String haystack, String needle) {
		int haystackLength = haystack.length();
		int needleLength = needle.length();
		int j = 1;
		if (needleLength == 0)
			return 0;
		if (needleLength > haystackLength)
			return -1;
		for (int i = 0; i <= haystackLength - needleLength; i++) {
			if (haystack.charAt(i) == needle.charAt(0)) {
				for (j = 1; j < needleLength; j++) {
					if (haystack.charAt(i + j) != needle.charAt(j))
						break;
				}
				if (j == needleLength)
					return i;
			}
		}
		return -1;
	}
}

 

posted @ 2015-05-16 10:22  scottwang  阅读(322)  评论(0编辑  收藏  举报