leetcode
答案
OJBook
Leetcode
题解
35
矩阵置零
给定一个
m
x
n
的矩阵,如果一个元素为
0,则将其所在行和列的所有元素都设为
0。请使用原地算法。
示例:
输入:
[
[1,1,1],
[1,0,1],
[1,1,1]
]
输出:
[
[1,0,1],
[0,0,0],
[1,0,1]
]
一个直接的解决方案是使用
O(mn)
的额外空间
即直接声明一个相同大小的矩阵,
当原矩阵当中元素有0时将对应的行和列赋值为-1作为标记,
然后遍历再一遍原矩阵把应该是零的位置进行赋值
/**
*
解决方案一,
占用O(mn)的额外空间
*
*
@param
matrix
*/
public
void
setZeroes(int[][]
matrix)
{
int[][]
newMatrix
=
new
int[matrix.length][matrix[0].length];
for
(int
i
=
0;
i
<
matrix.length;
i++)
{
for
(int
j
=
0;
j
<
matrix[0].length;
j++)
{
if
(mat
评论0
最新资源