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;

	}

}

 

你可能感兴趣的:(LeetCode)