【测评中的编程题】矩阵旋转
要求把n*n的矩阵顺时针旋转90°
空间复杂度为O(n)
思路:
1. 每次找4个元素,确定通用坐标
2. 3次交换操作就可以旋转这4个元素
3. 逐层缩小遍历范围
1 int low = 1, high = n; 2 while(low<high) 3 { 4 for (int i = low;i < high;i++) 5 { 6 swap(arr[low][i], arr[i][high]); 7 swap(arr[low][i], arr[n-i+1][low]); 8 swap(arr[n-i+1][low], arr[high][n-i+1]); 9 } 10 low++; 11 high--; 12 }