Spiral Matrix

Description

Given an m * n matrix, you have to return all the matrix elements in spiral order. The spiral order signifies traversing the matrix in clockwise order.

Let’s review the spiral order below:

Do it yourself

std::vector<int> spiralOrder(std::vector<std::vector<int>>& matrix) {
return {};
}
Spiral Matrix

Solution

To solve this problem, we will use a layer by layer approach. In this approach, we iterate over the outer layers’ elements in clockwise order, followed by the inner layer’s elements.

For each layer, we will start from the top left corner and iterate over the elements in that layer. We define the top-left coordinates, say (r1, c1) and bottom-right coordinates, say (r2, c2).

As we explore the layers in clockwise order, we have ...

Create a free account to view this lesson.

By signing up, you agree to Educative's Terms of Service and Privacy Policy