[Leetcode] 0054. Spiral Matrix

Explore diverse LeetCode solutions in Python, C++, JavaScript, SQL, and TypeScript. Ideal for interview prep, learning, and code practice in multiple programming languages. Github Repo Link

Given an mxn matrix, return all elements of the matrix in spiral order.

 

Example 1:

Input: matrix = [[1,2,3],[4,5,6],[7,8,9]]
Output: [1,2,3,6,9,8,7,4,5]

Example 2:

Input: matrix = [[1,2,3,4],[5,6,7,8],[9,10,11,12]]
Output: [1,2,3,4,8,12,11,10,9,5,6,7]

 

Constraints:

  • m == matrix.length
  • n == matrix[i].length
  • 1 <= m, n <= 10
  • -100 <= matrix[i][j] <= 100

内容目录

Python

				
					# time complexity: O(m*n) # space complexity: O(1) from typing import List class Solution: def spiralOrder(self, matrix: List[List[int]]) -> List[int]: ROW = len (matrix) COL = len(matrix[0]) direction = 1 row = 0 col = -1 result = [] while ROW > 0 and COL > 0: for _ in range(COL): col += direction result.append (matrix[row][col]) ROW -= 1 for _ in range(ROW): row += direction result.append(matrix[row][col]) COL -= 1 direction *= -1 return result matrix = [[1, 2, 3], [4, 5, 6], [7, 8, 9]] print(Solution().spiralOrder(matrix)) matrix = [[1, 2, 3, 4], [ 5, 6, 7, 8], [9, 10, 11, 12]] print(Solution().spiralOrder(matrix))
				
			
zh_CN简体中文