暴力字符串查找算法

给定一个模式串 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;
	 }
}

 

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