首尾字符匹配算法

#include <iostream>
using namespace std;

int FrontRearIndex(const string &T,const string &P,int pos=0)
{
	int startPos=pos;
	while(startPos<T.length()-P.length()+1)
	{
		int front=0,rear=P.length()-1;
		while(front<=rear)
		{
			if(T[startPos+front]!=P[front]||T[startPos+rear]!=P[rear])
				break;
			else
			{
				front++;
				rear--;
			}
		}
		if(front>rear)
			return startPos;
		else
			++startPos;
	}	
	return -1;
}
int	main()
{
	cout<<FrontRearIndex("abaabab","abab",0)<<endl; 
	return 0;
}

發佈了445 篇原創文章 · 獲贊 27 · 訪問量 27萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章