`
alchimie
  • 浏览: 19698 次
  • 性别: Icon_minigender_1
社区版块
存档分类
最新评论

字符串匹配

阅读更多
1.朴素的模式匹配算法( O(n+m)~O(nXm)
/**
	 * @param sStr 源字符串
	 * @param tStr 比较字符串
	 * @return int
	 */
	public static int getIndex(String sStr, String tStr) {
		if (tStr.length() > sStr.length()) {
			return -1;
		}
		if (tStr.length() == sStr.length()) {
			return 0;
		}
		char s[] = sStr.toCharArray();
		char t[] = tStr.toCharArray();
		int sLen = s.length;
		int tLen = t.length;
		int i = 0, j = 0;
		while (i < sLen && j < tLen) {
			if (s[i] == t[j]) {
				i++;
				j++;
			} else {
				// 主字符串指针回退
				i = i - j + 1;
				j = 0;
			}
		}
		
		if (j >= tLen)
			return i - tLen;
		return -1;
	}
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics