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

顺时针旋转矩阵

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

旋转之前

1 2 3

4 5 6

7 8 9

90度旋转之后

7 4 1

8 5 2

9 6 3

解题

实际上就是把原二维数组,从下往上(从后往前)一列一列的取出,然后重组成新的二维数组;

public int[][] rotateMatrix(int[][] mat, int n) {
  //返回的结果
  int[][] result = new int[n][n];
  // 5  保存结果集时,是第几组
  int k = 0;
  
  // 1 被取元素的下标
   int index = 0;
  // 2 确认总共要取多少次,1列1次,总共有n列
  for(int i = 0; i < n; i++){
    
    // 6 保存结果集时,元素的下标
    int y = 0;
   
    //3 每次取的第几组,从后往前取
     for(int j = n-1; j >= 0; j--){
     
       // 4 赋值操作(j:第几组,index: 第几组中元素的下标)
       result[k][y] = mat[j][index];
       y++;
     }
    index++; 
    k++;
  }
  return result;
}   



全部评论

相关推荐

牛客83700679...:简历抄别人的,然后再投,有反馈就是简历不行,没反馈就是学历不行,多投多改只要技术不差机会总会有的
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务