给定字符串A和B,输出A和B中的第一个最长公共字符串。比如A=“wepiabc”B="pabcni",则输出“abc”,如何编程实现啊~

解决方案 »

  1.   

    void find(char* str, int n, char*& start, int& length)
    {
        char tmp;
        char* p = str;
        char* q;
        int len = 0;
        length=0;
        while(*p)
        {
            q = p+1;
            while(*q && *q == *p)
            {
                q++;
            }
            
            if(*p)
            {
                len = q - p;
            }
            else
            {
                len = q - p + 1;
            }
            
            if(len>length)
            {
                length = len;
                start = p;
            }
            
            p=q;
        }
    }
    网上搜的 你试试