题目

方法一:先上下反转,然后再对角线反转

var rotate = function(matrix) {
  if(matrix.length===1)return matrix;
  let len = matrix.length;
  let half = Math.floor(matrix.length/2);
  for(let i=0;i<half;i++){
    [matrix[i],matrix[len-1-i]] = [matrix[len-1-i],matrix[i]];
  }
  for(let i=0;i<len;i++){
    for(let j=0;j<=i;j++){
      [matrix[i][j],matrix[j][i]] = [matrix[j][i],matrix[i][j]];
    }
  }
  // console.log(matrix);
  return matrix;
};

方法二:旋转图形

var rotate = function(matrix) {
  let len = matrix.length;
  for(var i=0;i<len/2;i++){
    for(var j=i;j<len-1-i;j++){
      let temp = matrix[i][j];
      matrix[i][j] = matrix[len-1-j][i];
      matrix[len-1-j][i] = matrix[len-1-i][len-1-j];
      matrix[len-1-i][len-1-j] = matrix[j][len-1-i];
      matrix[j][len-1-i] = temp;
    }
  }
  return matrix;
};