LeetCode #766. Toeplitz Matrix
阿新 • • 發佈:2020-11-20
題目
解題方法
採用模擬法,從左下角開始向左上角遍歷,再從左上角開始向右上角遍歷,在每次遍歷中再遍歷當前對角線所有元素,如果不相等直接返回False,所有遍歷結束後返回True。
時間複雜度:O(m*n)
空間複雜度:O(1)
程式碼
class Solution: def isToeplitzMatrix(self, matrix: List[List[int]]) -> bool: m = len(matrix) - 2 n = 0 while m > 0: curnum = matrix[m][n] i, j = m + 1, n + 1 while i < len(matrix) and j < len(matrix[0]): if matrix[i][j] != curnum: return False i, j = i + 1, j + 1 m -= 1 else: m = 0 while n < len(matrix[0]) - 1: curnum = matrix[m][n] i, j = m + 1, n + 1 while i < len(matrix) and j < len(matrix[0]): if matrix[i][j] != curnum: return False i, j = i + 1, j + 1 n += 1 return True