当前位置:   article > 正文

给定一个m×n矩阵,如果一个元素为0,则将其整行和列的值设置为0._操作一个m*n矩阵,有0和其他数字,当一行或者一列出现0时,需要将整行整列都置为

操作一个m*n矩阵,有0和其他数字,当一行或者一列出现0时,需要将整行整列都置为

本题源自LeetCode

--------------------------------------------------

思路1  遍历整个数组,遇到0  就把整行和整列不为0 的值置为* ,然后再次遍历数组把* 换为0

  1. void setZeroes(vector<vector<int> > &matrix) {
  2. int rows=matrix.size();
  3. int cols=0;
  4. if(rows!=0){
  5. cols=matrix[0].size();
  6. }
  7. if(rows==0||cols==0)
  8. return;
  9. for(int i=0;i<rows;i++){
  10. for(int j=0;j<cols;j++){
  11. if(matrix[i][j]==0){
  12. for(int k=0;k<cols;k++){
  13. if(matrix[i][k]!=0){ //跳过该行中其他值为0 的元素
  14. //if(k!=j){
  15. matrix[i][k]='*';
  16. }
  17. }
  18. for(int k=0;k<rows;k++){
  19. if(matrix[k][j]!=0){
声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:【wpsshop博客】
推荐阅读
相关标签
  

闽ICP备14008679号