这道题要的尽量少用空间的使带有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.
"""
m = len(matrix)
n = len(matrix[0])
for i in range(m):
for j in range(n):
if matrix[i][j] == 0:
matrix[i][j] = '*'
print matrix
for i in range(m):
for j in range(n):
if matrix[i][j] == '*':
for k in range(n):
if matrix[i][k] != '*':
matrix[i][k] = 0
for h in range(m):
if matrix[h][j] != '*':
matrix[h][j] = 0
for i in range(m):
for j in range(n):
if matrix[i][j] == '*':
matrix[i][j] = 0