首页 > 其他 > 详细

LeetCode Rotate Image

时间:2015-03-08 15:42:10      阅读:280      评论:0      收藏:0      [点我收藏+]

You are given an n x n 2D matrix representing an image.

Rotate the image by 90 degrees (clockwise).

Follow up:
Could you do this in-place?

题意:矩阵旋转。

思路:每次旋转的时候都一次性旋转4个数。

class Solution {
public:
    void rotate(vector<vector<int> > &matrix) {
        int n = matrix.size() - 1;
        for (int i = 0; i < n; i++) {
            for (int j = i; j < n-i; j++) {
                int x = i, y = j;
                int pre = matrix[x][y];
                for (int k = 0; k < 4; k++) {
                    int next = matrix[y][n-x];
                    matrix[y][n-x] = pre;
                    int tmp = x;
                    x = y;
                    y = n - tmp;
                    pre = next; 
                }
            }
        } 
    }
};



LeetCode Rotate Image

原文:http://blog.csdn.net/u011345136/article/details/44133347

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!