【每日一题】LeetCode 73. 矩阵置零 TypeScript 给定一个mxn的矩阵如果一个元素为0则将其所在行和列的所有元素都设为0。请使用原地算法。示例 1输入matrix [[1,1,1],[1,0,1],[1,1,1]]输出[[1,0,1],[0,0,0],[1,0,1]]示例 2输入matrix [[0,1,2,0],[3,4,5,2],[1,3,1,5]]输出[[0,0,0,0],[0,4,5,0],[0,3,1,0]]提示m matrix.lengthn matrix[0].length1 m, n 200-231 matrix[i][j] 231 - 1核心思路1.先标记第0行、第0列有没有02.从第1行第1列开始遍历每一项如果0则把对应行的第0列置为0把对应列的第0行置为03.再次从第1行第1列开始遍历如果所在行的第0列是0就把对应行的所有列都置为0存在所在列的第0行是0就把对应列的所有行都置为04.最后根据标记处理第0行和第0列第0行存在0就把整个第0行都置为0第0列存在0就把整个第0列都置为0/** Do not return anything, modify matrix in-place instead. */ function setZeroes(matrix: number[][]): void { const rows matrix.length const cols matrix[0].length let firstrow:boolean false let firstcol:boolean false for(let i0;irows;i){ if(matrix[i][0]0){ firstcol true break } } for(let j0;jcols;j){ if(matrix[0][j] 0){ firstrow true break } } for(let i1;irows;i){ for(let j1;jcols;j){ if(matrix[i][j] 0){ matrix[i][0] 0 matrix[0][j] 0 } } } for(let i1;irows;i){ for(let j1;jcols;j){ if(matrix[i][0] 0||matrix[0][j] 0){ matrix[i][j] 0 } } } if(firstcol){ for(let i0;irows;i){ matrix[i][0] 0 } } if(firstrow){ for(let j0;jcols;j){ matrix[0][j] 0 } } };共勉