题解 | #顺时针旋转矩阵#

顺时针旋转矩阵

http://www.nowcoder.com/practice/2e95333fbdd4451395066957e24909cc

/**

  • 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
  • @param mat int整型二维数组
  • @param matRowLen int mat数组行数
  • @param matColLen int* mat数组列数
  • @param n int整型
  • @return int整型二维数组
  • @return int* returnSize 返回数组行数
  • @return int** returnColumnSizes 返回数组列数
  • C语言声明定义全局变量请加上static,防止重复定义 / int* rotateMatrix(int** mat, int matRowLen, int* matColLen, int n, int* returnSize, int** returnColumnSizes ) { // write code here int x=matRowLen,y= matColLen,i,cet=0,len,z=0,s=0; len=xy; intarr=(int)malloc(sizeof(int*)x); for(i=0;i<x;i++) { arr[i]=(int)malloc(sizeof(int)*y); } while(1) { for(i=x-1;i>=z;i--) { arr[z][x-i-1+z]= mat[i][z]; cet++; } if(cet>=len) break; for(i=s+1;i<y;i++) { arr[i][x-1]=mat[s][i]; cet++; } if(cet>=len) break; for(i=z+1;i<x;i++) { arr[x-1][y-1-i+z]=mat[i][y-1]; cet++; } if(cet>=len) break; for(i=y-2;i>s;i--) { arr[i][s]=mat[x-1][i]; cet++; } if(cet>=len) break; x--; y--; s++; z++; } *returnSize=matRowLen; *returnColumnSizes=matColLen; return arr; }
全部评论

相关推荐

猿辅导 Java后端日常实习 800一天
点赞 评论 收藏
转发
点赞 收藏 评论
分享
牛客网
牛客企业服务