classSolution: classSolution: defspiralOrder(self, matrix:[[int]]) -> [int]: ifnot matrix: return [] l, r, t, b, res = 0, len(matrix[0])-1, 0, len(matrix)-1, [] whileTrue: for i in range(l, r+1): res.append(matrix[t][i]) # left to right t += 1 if t > b: break for i in range(t, b + 1): res.append(matrix[i][r]) # top to bottom r -= 1 if l > r: break for i in range(r, l - 1, -1): res.append(matrix[b][i]) # right to left b -= 1 if t > b: break for i in range(b, t - 1, -1): res.append(matrix[i][l]) # bottom to top l += 1 if l > r: break return res