73. Set Matrix Zeroes

Given a m x n matrix, if an element is 0, set its entire row and column to 0. Do it in place.

一刷
题解:
先判断矩阵第一行和第一列是否需要清零(用boolean值保存结果),然后再扫描矩阵把需要清零的行和列标注在第一行和第一列里, 最后进行清零操作。

public class Solution {
    public void setZeroes(int[][] matrix) {
        if(matrix == null) return;
        int n = matrix.length;
        int m = matrix[0].length;
        boolean firstRow = false;
        boolean firstCol = false;
        
        
         for(int i=0; i<n; i++) {
             if(matrix[i][0] == 0){
                 firstCol = true;
             }
         }
         
         for(int i=0; i<m; i++) {
             if(matrix[0][i] == 0){
                 firstRow = true;
             }
         }
        
        for(int i=1; i<n; i++){
            for(int j=1; j<m; j++){
                if(matrix[i][j] == 0){
                    matrix[i][0] = 0;
                    matrix[0][j] = 0;
                }
            }
        }
        
        for(int i=1; i<n; i++){
            if(matrix[i][0] == 0){
               for(int j=1; j<m; j++){
                   matrix[i][j] = 0;
               } 
            }
        }
        
        for(int j=1; j<m; j++){
            if(matrix[0][j] == 0){
               for(int i=1; i<n; i++){
                   matrix[i][j] = 0;
               } 
            }
        }
        
        if(firstCol){
            for(int i=0; i<n; i++) matrix[i][0] = 0;
        }
        
        if(firstRow){
            for(int j=0; j<m; j++) matrix[0][j] = 0;
        }
    }
}
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 扯闲篇 为啥写这个题? 因为这题由简单到难坑真是多。值得记录下来好好研究研究 题目 Given amxnmatri...
    Sonass阅读 2,444评论 0 0
  • Given a m x n matrix, if an element is 0, set its entire ...
    exialym阅读 1,248评论 0 0
  • Given a m x n matrix, if an element is 0, set its entire ...
    matrxyz阅读 1,352评论 0 0
  • 问题描述 Given a m x n matrix, if an element is 0, set its en...
    codingXue阅读 1,592评论 0 0
  • 闺蜜,是什么?闺蜜是在你困难的时候她会伸出援手来帮助你;闺蜜是见到你哭她也会难受的;闺蜜是在她睡不着时你也不能睡;...
    不愉快会走的阅读 2,187评论 1 1