暴力字符串查找算法

給定一個模式串 pat 和一個主串 txt,尋找模式串 pat 在主串txt中的下標位置。

public class Solution {

	 public static void main(String[] args) {
	    System.out.println(find("aba","abbaba"));  // 返回的結果爲 3

	    }
	  
	 public static int find(String pat,String txt) {
		 int M = pat.length();   // 模式串的長度
		 int N = txt.length();   // 文本串的長度
		 for(int i = 0;i <= N-M;++i) {    //  控制文本串的長度
			 int j;
			 for(j = 0;j < M;++j) {
                // 如果文本串的一個字符不匹配,則跳出循環
				 if(txt.charAt(i+j) != pat.charAt(j)) break;
			 }
			 if(j == M) return i;
		 }
		return -1;
	 }
}

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章