题目:给定一个n*n的矩阵顺时针紦矩阵旋转90度。
解法一:时间复杂度为o(n*n)空间复杂度为o(n)。步骤:(1)把矩阵的行当做一个整体逆序矩阵中的行,也就是说把matrix[i]行和matrix[len - i]进行交换(2)茬交换后的矩阵中,按照对角线交换每个数也就是说交换matrix[i][j]和matrix[j][i]。因为需要交换每一行所以需要o(n)的额外空间。操作如下图所示:
解法二:時间复杂度为o(n*n)空间复杂度为o(1)。我们每次只交换一个元素而且一次就把元素交换到旋转以后的位置。交换一个元素需要o(1)的额外的空间