0
点赞
收藏
分享

微信扫一扫

矩阵置0 JAVA

少_游 2022-01-27 阅读 135

矩阵置零,leetcode

public void setZeroes(int[][] matrix) {
    // 每一行的第一列记录该行是否出现0
    int m = matrix.length, n = matrix[0].length;
    // 原本的第一列是否为0;
    boolean flagCol = false;
    for (int i = 0; i < m; i++) {
        if (!flagCol && matrix[i][0] == 0) {
            flagCol = true;
        }
        for (int j = 1; j < n; j++) {
            if (matrix[i][j] == 0) {
                matrix[i][0] = matrix[0][j] = 0;
            }
        }
    }
    for (int i = m - 1; i >= 0; i--) {
        for (int j = 1; j < n; j++) {
            if (matrix[i][j] != 0 && (matrix[i][0] == 0 || matrix[0][j] == 0)) {
                matrix[i][j] = 0;
            }
        }
        if (matrix[i][0] != 0 && flagCol) {
            matrix[i][0] = 0;
        }
    }
}
举报

相关推荐

0 条评论