File tree Expand file tree Collapse file tree 2 files changed +14
-35
lines changed
leetcode/0048.Rotate-Image
website/content/ChapterFour/0001~0099 Expand file tree Collapse file tree 2 files changed +14
-35
lines changed Original file line number Diff line number Diff line change 1
1
package leetcode
2
2
3
3
func rotate (matrix [][]int ) {
4
- row := len (matrix )
5
- if row <= 0 {
6
- return
7
- }
8
- column := len (matrix [0 ])
4
+ length := len (matrix )
9
5
// rotate by diagonal 对角线变换
10
- for i := 0 ; i < row ; i ++ {
11
- for j := i + 1 ; j < column ; j ++ {
12
- tmp := matrix [i ][j ]
13
- matrix [i ][j ] = matrix [j ][i ]
14
- matrix [j ][i ] = tmp
6
+ for i := 0 ; i < length ; i ++ {
7
+ for j := i + 1 ; j < length ; j ++ {
8
+ matrix [i ][j ], matrix [j ][i ] = matrix [j ][i ], matrix [i ][j ]
15
9
}
16
10
}
17
11
// rotate by vertical centerline 竖直轴对称翻转
18
- halfColumn := column / 2
19
- for i := 0 ; i < row ; i ++ {
20
- for j := 0 ; j < halfColumn ; j ++ {
21
- tmp := matrix [i ][j ]
22
- matrix [i ][j ] = matrix [i ][column - j - 1 ]
23
- matrix [i ][column - j - 1 ] = tmp
12
+ for i := 0 ; i < length ; i ++ {
13
+ for j := 0 ; j < length / 2 ; j ++ {
14
+ matrix [i ][j ], matrix [i ][length - j - 1 ] = matrix [i ][length - j - 1 ], matrix [i ][j ]
24
15
}
25
16
}
26
17
}
Original file line number Diff line number Diff line change @@ -97,35 +97,23 @@ You have to rotate the image **[in-place](https://en.wikipedia.org/wiki/In-plac
97
97
## 代码
98
98
99
99
```go
100
-
101
100
package leetcode
102
101
103
102
func rotate(matrix [][]int) {
104
- row := len(matrix)
105
- if row <= 0 {
106
- return
107
- }
108
- column := len(matrix[0])
103
+ length := len(matrix)
109
104
// rotate by diagonal 对角线变换
110
- for i := 0; i < row; i++ {
111
- for j := i + 1; j < column; j++ {
112
- tmp := matrix[i][j]
113
- matrix[i][j] = matrix[j][i]
114
- matrix[j][i] = tmp
105
+ for i := 0; i < length; i++ {
106
+ for j := i + 1; j < length; j++ {
107
+ matrix[i][j], matrix[j][i] = matrix[j][i], matrix[i][j]
115
108
}
116
109
}
117
110
// rotate by vertical centerline 竖直轴对称翻转
118
- halfColumn := column / 2
119
- for i := 0; i < row; i++ {
120
- for j := 0; j < halfColumn; j++ {
121
- tmp := matrix[i][j]
122
- matrix[i][j] = matrix[i][column-j-1]
123
- matrix[i][column-j-1] = tmp
111
+ for i := 0; i < length; i++ {
112
+ for j := 0; j < length/2; j++ {
113
+ matrix[i][j], matrix[i][length-j-1] = matrix[i][length-j-1], matrix[i][j]
124
114
}
125
115
}
126
116
}
127
-
128
-
129
117
```
130
118
131
119
You can’t perform that action at this time.
0 commit comments