數組順時針選擇90度

題目:

有一個NxN整數矩陣,請編寫一個算法,將矩陣順時針旋轉90度。

給定一個NxN的矩陣,和矩陣的階數N,請返回旋轉後的NxN矩陣,保證N小於等於300。


  /*
    解題思路:以對角線爲界限,交換兩邊的數組元素,
    之後交換數組的列
    */
    public int[][] rotateMatrix(int[][] mat, int n) {
        // write code here
        for(int i=0;i<n;i++){
            for(int j=i;j<n;j++){
                //交換對角線兩邊的元素
                if(i!=j){
                    int temp=mat[i][j];
                    mat[i][j]=mat[j][i];
                    mat[j][i]=temp;
                }
            }//for
        }//for
        //交換列
       for(int i=0;i<n;i++){//行
           for(int j=0;j<n/2;j++){
               int temp=mat[i][j];
               mat[i][j]=mat[i][n-j-1];
               mat[i][n-j-1]=temp;
           }//for
       }//for
        return mat;
    }


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章