class Solution {
public:
    //对具体的起点与长度,确认字符串是否为重复拼接形式
    bool check(string& a, int len, int begin) {
        for(int i = begin; i < len + begin; ++i) {
            if(a[i] != a[i + len]) {
                //这说明字符串肯定不存在重复拷贝在其后面,返回false
                return false;
            }
        }
        return true;//这说明在这个字符串后面存在它的拷贝
    }
 
    int solve(string a) {
        int n = a.length();
        for(int i = n / 2; i > 0; --i) {//枚举长度
            for(int j = 0; j <= n - i - i; ++j) {//枚举起点
                //起点要保证两个字符串拼接后长度不会大于原字符串
                if(check(a, i, j)) {
                    return 2 * i;//说明找到了重复字符串,长度即为枚举长度两边
                }
            }
        }
        return 0;
    }
};