1. 程式人生 > >【leetcode】28.(Easy)Implement strStr()

【leetcode】28.(Easy)Implement strStr()

題目連結


解題思路:
這道題的意思就是找到字串中一個子串的起始位置,沒有這個子串的話返回-1。
我的做法就是簡單的蠻力法,首先找到第一個匹配的字元,然後再進一步進行判決


提交程式碼:

class Solution {
	public int strStr(String haystack, String needle) {
		if(haystack==null||needle==null)	return -1;
		if (needle.equals(""))	return 0;

		int pos = -1, startpos = 0, p1,p2 = 0;
while (startpos <= (haystack.length() - needle.length())) { // 找到第一個匹配的字元 if (haystack.charAt(startpos) == needle.charAt(0)) { pos = startpos; p1=startpos; p2=0; while (p1 < haystack.length() && p2 < needle.length() && haystack.charAt(p1) == needle.
charAt(p2)) { p1++; p2++; } if (p2 == needle.length()) return pos; } startpos++; } return -1; } }

執行結果:
在這裡插入圖片描述