题解 | 顺时针旋转矩阵

顺时针旋转矩阵

https://www.nowcoder.com/practice/2e95333fbdd4451395066957e24909cc

#
# 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
#
# 
# @param mat int整型二维数组 
# @param n int整型 
# @return int整型二维数组
#
class Solution:
    def rotateMatrix(self , mat: List[List[int]], n: int) -> List[List[int]]:
        # write code here
        # # 创建一个新的 n x n 矩阵来存储旋转后的结果
        # rotated_matrix = [[0] * n for _ in range(n)]
        # for i in range(n):
        #     for j in range(n):
        #         # 将原矩阵元素按规则放到新矩阵中
        #         rotated_matrix[j][n - i - 1] = mat[i][j]
        # return rotated_matrix
        # 第一步:矩阵转置
        for i in range(n):
            for j in range(i, n):
                # 交换 matrix[i][j] 和 matrix[j][i]
                mat[i][j], mat[j][i] = mat[j][i], mat[i][j]
        # 第二步:反转每一行
        for i in range(n):
            mat[i].reverse()
        return mat

全部评论

相关推荐

评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务