赞
踩
本题源自LeetCode
--------------------------------------------------
思路1 遍历整个数组,遇到0 就把整行和整列不为0 的值置为* ,然后再次遍历数组把* 换为0
- void setZeroes(vector<vector<int> > &matrix) {
- int rows=matrix.size();
- int cols=0;
- if(rows!=0){
- cols=matrix[0].size();
- }
- if(rows==0||cols==0)
- return;
- for(int i=0;i<rows;i++){
- for(int j=0;j<cols;j++){
- if(matrix[i][j]==0){
- for(int k=0;k<cols;k++){
- if(matrix[i][k]!=0){ //跳过该行中其他值为0 的元素
- //if(k!=j){
- matrix[i][k]='*';
- }
- }
- for(int k=0;k<rows;k++){
- if(matrix[k][j]!=0){
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。