原串与其逆序串 对应位置且 连续最大长度

#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#include <algorithm>

using namespace std;

int main()
{
    char s[1000];
	char t[1000];
	int len;
    int i, j;

	memset(s, '\0', sizeof(s));
	memset(t, '\0', sizeof(t));

	while(gets(s)!=NULL )
	{
		
        len = strlen(s);

        for( i=0; i<len; i++)
		{
            t[len-i-1] = s[i] ;
		}
	//	puts(s);
	//	puts(t);
		int max=0;
		int cnt=0;

		for(i=0; i<len; )
		{
           if( s[i]==t[i] )
		   {
			   j=i;
			   while( s[j]==t[j] && j<len )
			   {
				   cnt++;
				   j++;
			   }
			   if(cnt>max)
			   {
				   max = cnt;  //max的值进行更新
				   cnt=0;
			   }
			   i = j ;
		   }
		   else
		   {
			   i++;
		   }
		}
		printf("%d\n", len-max );
	}
 	return 0;
}

 

posted @ 2014-09-09 19:25  我喜欢旅行  阅读(165)  评论(0编辑  收藏  举报