給定乙個 m x n 的矩陣,如果乙個元素為 0,則將其所在行和列的所有元素都設為 0。請使用原地演算法。
示例 1:
輸入:[示例 2:[1,1,1],
[1,0,1],
[1,1,1]
]輸出:[
[1,0,1],
[0,0,0],
[1,0,1]
]
輸入:[高階:[0,1,2,0],
[3,4,5,2],
[1,3,1,5]
]輸出:[
[0,0,0,0],
[0,4,5,0],
[0,3,1,0]
]
思路:
用兩個boolean變數分別記錄第一行和第一列是否包含0, 如果第一行包含0,則第一行所有的都要設為0;如果第一列包含0,則第一列所有的都要設為0;
使用原陣列的第一行和第一列元素記錄當前行或者當前列中除本身以外是否存在0,如果存在0,則將首元素置0
class solution
boolean isfirstrowcontainzero = false;
boolean isfirstcolcontainzero = false;
int m = matrix.length;
int n = matrix[0].length;
for(int i=0;i}
}for(int i=1;i}
}//第一行含0處理
if(isfirstrowcontainzero)
}//第一列含0處理
if(isfirstcolcontainzero) }}
}
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...