Array Matrix 1572. Matrix Diagonal Sum ¶ Time: $O(n)$ Space: $O(1)$ C++JavaPython 1 2 3 4 5 6 7 8 9 10 11 12 13 14class Solution { public: int diagonalSum(vector<vector<int>>& mat) { const int n = mat.size(); int ans = 0; for (int i = 0; i < n; ++i) { ans += mat[i][i]; ans += mat[n - 1 - i][i]; } return n % 2 == 0 ? ans : ans - mat[n / 2][n / 2]; } }; 1 2 3 4 5 6 7 8 9 10 11 12 13class Solution { public int diagonalSum(int[][] mat) { final int n = mat.length; int ans = 0; for (int i = 0; i < n; ++i) { ans += mat[i][i]; ans += mat[n - 1 - i][i]; } return n % 2 == 0 ? ans : ans - mat[n / 2][n / 2]; } } 1 2 3 4 5 6 7 8 9 10class Solution: def diagonalSum(self, mat: list[list[int]]) -> int: n = len(mat) ans = 0 for i in range(n): ans += mat[i][i] ans += mat[n - 1 - i][i] return ans if n % 2 == 0 else ans - mat[n // 2][n // 2]