力扣 NO.73 矩阵置零

题目(链接

在这里插入图片描述
在这里插入图片描述

方法一:两次遍历,一次遍历找出相应的行,列保存,第二次遍历将相应行列的数置零

class Solution:
    def setZeroes(self, matrix: List[List[int]]) -> None:
        """
        Do not return anything, modify matrix in-place instead.
        """
        # 得到矩阵的行数,列数
        row_nums = len(matrix)
        column_nums = len(matrix[0])
        rows = []
        columns = []
        # 遍历矩阵取出元素为零的行和列,并保存
        for i in range(row_nums):
            for j in range(column_nums):
                if matrix[i][j] == 0:
                    rows.append(i)
                    columns.append(j)
        rows = set(rows)
        columns = set(columns)
        # 再遍历一遍,把相应的行,列全部置为0
        for i in range(row_nums):
            for j in range(column_nums):
                if i in rows or j in columns:
                    matrix[i][j] = 0
        return matrix


猜你喜欢

转载自blog.csdn.net/qq_33489955/article/details/124263593