欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 新闻 > 国际 > Leetcode 旋转图像

Leetcode 旋转图像

2024/10/26 4:15:32 来源:https://blog.csdn.net/coldasice342/article/details/142251341  浏览:    关键词:Leetcode 旋转图像

在这里插入图片描述

解题思路:

  1. 转置矩阵:通过将矩阵的行列互换来实现转置操作。
  2. 水平翻转矩阵:通过将每行的数据进行对称交换,从而完成90度旋转。

通过这两个步骤,矩阵就会顺时针旋转90度。

class Solution {
public:void rotate(vector<vector<int>>& matrix) {int n = matrix.size();//先转置矩阵for(int i = 0; i < n; ++i) {//j 的初始值是从 i 开始,而不是从 0 开始,这是为了避免重复交换已经处理过的元素。// j从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]); // n - 1是因为下标从 0 开始, 下标 n 取不到 }}}
};

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com