diff options
author | jack <[email protected]> | 2024-06-14 13:13:15 -0600 |
---|---|---|
committer | jack <[email protected]> | 2024-06-14 13:13:15 -0600 |
commit | d343a3b18dbaca9297d4f7b2280c4a16f0a5c8aa (patch) | |
tree | 96df922dae2a5073d9a50ea70c7aae6aa37e3ebe /rotate_image.rs | |
download | leetcode-d343a3b18dbaca9297d4f7b2280c4a16f0a5c8aa.tar.gz leetcode-d343a3b18dbaca9297d4f7b2280c4a16f0a5c8aa.zip |
initial
Diffstat (limited to 'rotate_image.rs')
-rw-r--r-- | rotate_image.rs | 27 |
1 files changed, 27 insertions, 0 deletions
diff --git a/rotate_image.rs b/rotate_image.rs new file mode 100644 index 0000000..376545d --- /dev/null +++ b/rotate_image.rs @@ -0,0 +1,27 @@ +struct Solution; + +impl Solution { + pub fn rotate(mut matrix: Vec<Vec<i32>>) { + let n = matrix.len(); + let depth = n / 2; + for i in 0..depth { + let (len, opp) = (n - 2 * i - 1, n - 1 - i); + for j in 0..len { + let tmp = matrix[i][i + j]; + matrix[i][i + j] = matrix[opp - j][i]; + matrix[opp - j][i] = matrix[opp][opp - j]; + matrix[opp][opp - j] = matrix[i + j][opp]; + matrix[i + j][opp] = tmp; + } + } + } +} + +fn main() { + let matrix = vec![ + vec![1,2,3], + vec![4,5,6], + vec![7,8,9] + ]; + print!("{:?}", Solution::rotate(matrix)); +} |