《少萝吃狙》第二季_2
求解代码publicint[][]rotateMatrix(int[][]mat,intn){// 空矩阵、空方阵直接返回if(matnull||n
{returnmat;}// 矩阵转置行和列互换for(inti0;in;i){for(intji;jn;j){inttmpmat[i][j];mat[i][j]mat[j][i];mat[j][i]tmp;}}// 反转转置后矩阵的每一行完成顺时针90度旋转for(int[]row:mat){reverse(row);}returnmat;}// 双指针法原地反转一维数组privatevoidreverse(int[]arr){intleft0;intrightarr.length-1;while(leftright){// 交换左右指针元素inttmparr[left];arr[left]arr[right];arr[right]tmp;left;right--;}}小贴士j从0开始会让对角线上下的元素对被交换两次交换两次就等于没交换而j从i开始能保证每个元素对只被交换一次。
9.1.gb.crm网站-9.1.gb.crm网站应用