#数组 #矩阵
根据题意,对角线元素的列坐标是有规律的,先靠近再分开,对角线上的元素为非0,其他为0则返回`true`
```cpp
class Solution
{
public:
bool checkXMatrix(vector<vector<int>>& grid)
{
int i = 0, j = grid.size() - 1;
int k = 1;
for (auto& row : grid)
{
if (!row[i] || !row[j])return false;
for (int l = 0; l < row.size(); ++l)
{
if (l == i || l == j)continue;
if (row[l])return false;
}
i += k;
j -= k;
if (i >= j)
{
k *= -1;
swap(i, j);
}
}
return true;
}
};
```