哈哈哈,暴力直接过可还行。

class Solution {
public:
    /**
     * 最大正方形
     * @param matrix char字符型vector<vector<>> 
     * @return int整型
     */
    int solve(vector<vector<char>>& matrix) {
        int m=matrix.size();
        if(m==0) return 0;
        int n=matrix[0].size();
        if(n==0) return 0;
        int ans = 0;
        int side_len = (m<n) ? m : n;
        while(side_len > 0)
        {
            for(int i=0; i+side_len<=m; ++i)
            {
                for(int j=0; j+side_len<=n; ++j)
                {
                    if(matrix[i][j] == '1')
                    {
                        bool flag = true;
                        for(int x=0; x<side_len; ++x)
                        {
                            for(int y=0; y<side_len; ++y)
                            {
                                if(matrix[i+x][j+y]=='0')
                                {
                                    flag = false;
                                    break;
                                }
                            }
                        }
                        if(flag == true)
                        {
                            return side_len*side_len;
                        }
                    }
                }
            }
            -- side_len;
        }
        return ans;
    }
};