直接枚举对角线元素,当矩阵行数为奇数时,中心点元素可能会重复,所以当满足i==n-i-1条件时,删去一次该点的值,即为所求。
class Solution {
public:
int diagonalSum(vector<vector<int>>& mat) {
int sum = 0,n=mat.size();
for(int i=0;i<n;i++)
{
sum += mat[i][i];
sum += mat[i][n-i-1];
if(i==n-i-1)
sum -= mat[i][i];
}
return sum;
}
};