難度:中等。
標籤:陣列。
這個題要求使用常數空間進行解決,那就只能使用陣列中的某行某列儲存標記。
找到第乙個值為0的元素,將其行索引row
rowro
w和列索引col
colco
l儲存下來,然後使用元素所在的行和列儲存標記。
接下來繼續遍歷陣列,若得到另乙個為0的元素mat
rix[
i][j
]matrix[i][j]
matrix
[i][
j],將其mat
rix[
row]
[j
]matrix[row][j]
matrix
[row
][j]
和m at
rix[
i][c
ol
]matrix[i][col]
matrix
[i][
col]
置為0。
再次遍歷row行的元素和col列的元素,若為0,改變其他同行或同列的元素。
正確解法:
class
solution
else
if(matrix[i]
[j]==0)
}}if(row ==-1
)return
;for
(int i =
0; i < n1; i++)}
}for
(int j =
0; j < n2; j++)}
for(
int i =
0; i < n2; i++
)matrix[row]
[i]=0;
}};
leetcode 73 矩陣置零
給定乙個 m x n 的矩陣,如果乙個元素為 0,則將其所在行和列的所有元素都設為 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...
leetcode73 矩陣置零
給定乙個 m x n 的矩陣,如果乙個元素為 0,則將其所在行和列的所有元素都設為 0。請使用原地演算法。示例 1 輸入 1,1,1 1,0,1 1,1,1 輸出 1,0,1 0,0,0 1,0,1 空間複雜度為o mn 的解法自不用多說,直接新建乙個和matrix等大小的矩陣,然後一行一行的掃,只...
leetcode 73 矩陣置零
給定乙個 m x n 的矩陣,如果乙個元素為 0,則將其所在行和列的所有元素都設為 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...