题目要求:
给你一个正方形矩阵 mat,请你返回矩阵对角线元素的和。
请你返回在矩阵主对角线上的元素和副对角线上且不在主对角线上元素的和。
示例 1:

输入:mat = [[1,2,3], [4,5,6], [7,8,9]] 输出:25 解释:对角线的和为:1 + 5 + 9 + 3 + 7 = 25 请注意,元素 mat[1][1] = 5 只会被计算一次。
示例 2:
输入:mat = [[1,1,1,1], [1,1,1,1], [1,1,1,1], [1,1,1,1]] 输出:8
示例 3:
输入:mat = [[5]] 输出:5
代码实现:
int diagonalSum(int** mat, int matSize, int* matColSize) {
int n = matSize;//n表示矩阵的行数和列数
int i = 0;
int j = 0;
int sum = 0;//初始化sum为0
for(i = 0; i < n; i++)//遍历每一行
{
int j = 0;
for(j = 0; j < n; j++)//遍历每一列
{
if(i == j || i + j == n - 1)//表示对角线上元素的特征
{
sum += mat[i][j];//累计加和
}
}
}
return sum;//返回最终结果
}
作者:力扣官方题解
来源:力扣(LeetCode)
坚持编程,我一直在路上!
708

被折叠的 条评论
为什么被折叠?



