Given a m x n matrix, if an element is 0, set its entire row and column to 0. Do it in place.
思路:维护两个集合,分别存储该置为0的行和列,遍历数组,将行列添加进去,然后再用两个循环将该置0的行列置0
class Solution(object):
def setZeroes(self, matrix):
"""
:type matrix: List[List[int]]
:rtype: void Do not return anything, modify matrix in-place instead.
"""
row = set()
column = set()
m = len(matrix)
n = len(matrix[0])
for i in range(m):
for j in range(n):
if matrix[i][j] == 0:
row.add(i)
column.add(j)
for i in row:
for j in range(n):
matrix[i][j] = 0
for i in column:
for j in range(m):
matrix[j][i] = 0