编写一种算法,若M × N矩阵中某个元素为0,则将其所在的行与列清零。
示例1
输入:
[
[1,1,1],
[1,0,1],
[1,1,1]
]
输出:
[
[1,0,1],
[0,0,0],
[1,0,1]
]
示例2
输入:
[
[0,1,2,0],
[3,4,5,2],
[1,3,1,5]
]
输出:
[
[0,0,0,0],
[0,4,5,0],
[0,3,1,0]
]
解答 python3
class Solution:
def setZeroes(self, matrix: List[List[int]]) -> None:
"""
Do not return anything, modify matrix in-place instead.
"""
length = len(matrix[0]);#列数
width = len(matrix);#行数
a=[];
for i in range (width):
a.append([]) ;
for j in range(length):
if matrix[i][j]==0:
a[i].append(1);
else:
a[i].append(0);
for i in range (width):
for j in range(length):
if a[i][j]==1:
for m in range(length):
matrix[i][m]=0;
for m in range(width):
matrix[m][j]=0;