题目(链接)
方法一:两次遍历,一次遍历找出相应的行,列保存,第二次遍历将相应行列的数置零
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