leecode.48交换矩阵

题目

给定一个 n × n 的二维矩阵表示一个图像。

将图像顺时针旋转 90 度。

说明:

你必须在原地旋转图像,这意味着你需要直接修改输入的二维矩阵。请不要使用另一个矩阵来旋转图像。

思路分析

  • 首先先转置矩阵。
  • 将转置后的矩阵的列发生交换。

注意点

如何不使用中间变量实现两个数的交换。使用异或运算。实现两个int的交换。
a=a^b, b=b^a, a = a^b;
例子,例如当a=4,b=7的时候。二进制a:0100,b:0111.
在这个过程中
a=(0100)^(0111)=(0011)
b=(0011)^(0111)=(0100)
a=(0011)^(0100)=(0111)

代码

class Solution {
public:void rotate(vector<vector<int>>& matrix) {// 首先就是将matrix变成其转置,然后将转置中的矩阵列发生变化。(i,j)-(j,i)-(j,n - 1 - i)int n = matrix


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部