73. Set Matrix Zeroes
题目大意
Given an m x n
integer matrix matrix
, if an element is 0, set its entire row and column to 0’s. You must do it in place.
中文释义
给定一个 m x n
的整数矩阵 matrix
,如果一个元素为 0,则将其所在行和列的所有元素设置为 0。你必须就地完成这个操作。
示例
-
示例 1:
- 输入:
matrix = [[1,1,1],[1,0,1],[1,1,1]]
- 输出:
[[1,0,1],[0,0,0],[1,0,1]]
- 输入:
-
示例 2:
- 输入:
matrix = [[0,1,2,0],[3,4,5,2],[1,3,1,5]]
- 输出:
[[0,0,0,0],[0,4,5,0],[0,3,1,0]]
- 输入:
限制条件
m == matrix.length
n == matrix[0].length
1 <= m, n <= 200
-2^31 <= matrix[i][j] <= 2^31 - 1
后续思考
- 直接使用 O(mn) 空间的解决方案可能不是好主意。
- 一个简单的改进是使用 O(m + n) 空间,但仍然不是最佳解决方案。
- 你能想出一个常数空间的解决方案吗?
解题思路
方法:辅助空间
思路
这个解法使用两个辅助数组 row
和 col
来记录哪些行和列应该被置为零。如果矩阵中的某个元