From 79a9c52fa923fc78074d88463449a8b7f95ca3ef Mon Sep 17 00:00:00 2001 From: Steve Lee Date: Tue, 26 Dec 2017 01:33:40 +0800 Subject: update leetcode solution --- Computer_Science/leetcode/48-rotate_image.c | 31 +++++++++++++++++++++++++++++ 1 file changed, 31 insertions(+) create mode 100644 Computer_Science/leetcode/48-rotate_image.c (limited to 'Computer_Science/leetcode/48-rotate_image.c') diff --git a/Computer_Science/leetcode/48-rotate_image.c b/Computer_Science/leetcode/48-rotate_image.c new file mode 100644 index 0000000..785965f --- /dev/null +++ b/Computer_Science/leetcode/48-rotate_image.c @@ -0,0 +1,31 @@ +void helper(int** matrix, int start, int len) +{ + if(len <= 1) return; + + int tmp1, tmp2; + + for(int i = 0; i < len - 1; i++) { + //save top + //top to righ + tmp1 = matrix[start + i][start + len - 1]; + matrix[start + i][start + len - 1] = matrix[start][start + i]; + //right to button + tmp2 = matrix[start + len - 1][start + len - 1 - i]; + matrix[start + len - 1][start + len - 1 - i] = tmp1; + tmp1 = tmp2; + //buttom to left + tmp2 = matrix[start + len - 1 - i][start]; + matrix[start + len - 1 - i][start] = tmp1; + tmp1 = tmp2; + //left to top + matrix[start][start + i] = tmp1; + } + + helper(matrix, start + 1, len - 2); + +} +void rotate(int** matrix, int matrixRowSize, int matrixColSize) { + helper(matrix, 0, matrixRowSize); +} + + -- cgit v1.2.3