Rotate Image 顺时针翻转矩阵 两次交换 先对角线 再前后
2014-08-24 19:06
411 查看
题目:
点击打开链接
将一个矩阵就地顺时针翻转90度。
解答:
两次翻转 先对角线交换 再每一行前后交换。
例如:
1 2 3
4 5 6
7 8 9
对角线交换得到:
1 4 7
2 5 8
3 6 9
每一行前后交换得:
7 4 1
8 5 2
9 6 3
得出结果。
代码:
点击打开链接
将一个矩阵就地顺时针翻转90度。
解答:
两次翻转 先对角线交换 再每一行前后交换。
例如:
1 2 3
4 5 6
7 8 9
对角线交换得到:
1 4 7
2 5 8
3 6 9
每一行前后交换得:
7 4 1
8 5 2
9 6 3
得出结果。
代码:
class Solution { public: void rotate(vector<vector<int> > &matrix) { int n = matrix.size(); for (int i = 0; i < n - 1; i++) { for (int j = i; j < n; j++) { swap(matrix[i][j], matrix[j][i]); } } for (int i = 0; i < n; i++) { for (int j = 0; j < n / 2; j++) { swap(matrix[i][j], matrix[i][n - 1 - j]); } } } };
相关文章推荐
- HDU 2819 矩阵交换列使得主对角线都为1 二分匹配
- 将矩阵顺时针旋转90度 leetCode:Rotate Image
- Rotate Image,N*N矩阵顺时针旋转90度
- NN类型的矩阵 如果列和行要交换可以按照对角线来交换
- 数据结构示例之展示矩阵高、低、主对角线值
- 程序员面试题精选100题(51)-顺时针打印矩阵
- 沿对角线打印矩阵
- 顺时针打印矩阵
- 顺时针打印矩阵
- 顺时针打印矩阵
- 【剑指offer】顺时针打印矩阵
- python中矩阵上下翻转的技巧
- 19、顺时针打印矩阵
- 顺时针打印矩阵
- 翻转数字、大小写转换、斐波那契、整数排序、链表删除、矩阵面积【Python】
- 【Java笔试题】顺时针打印矩阵
- 把N*N矩阵顺时针旋转90°输出(2018携程校招笔试题)
- Android 点击View实现前后翻转动画
- 《剑指offer》刷题笔记(画图让抽象形象化):顺时针打印矩阵
- 剑指offer_顺时针打印矩阵