首页 > 学院 > 开发设计 > 正文

【LeetCode】48. Rotate Image

2019-11-06 06:09:19
字体:
来源:转载
供稿:网友

题目描述

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?

解题思路

每一次以一圈为单位,在一圈中,每次寻找四个受影响的点。顺时针改变这四个点,就可以实现in-place的旋转了。

AC代码

class Solution {public: void rotate(vector<vector<int>>& matrix) { int n = matrix.size(); for (int i = 0; i < n/2; ++i) { for (int j = i; j < n - i - 1; ++j) { int temp = matrix[n - j - 1][i]; matrix[n - j - 1][i] = matrix[n - i - 1][n - j - 1]; matrix[n - i - 1][n - j - 1] = matrix[j][n - i - 1]; matrix[j][n - i - 1] = matrix[i][j]; matrix[i][j] = temp; } } }};
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表