Rotate a matrix, using transposition and reflection
Keep in mind that the primary focus of this web site is to review your working code and provide suggestions on how to improve the code. Questions about which way is better or worse may be based on opinion and that is off-topic for most of the stack exchange websites.
In answer to your question, it could be a possible optimization that reduces the number of steps, but that isn't clear. You may be missing the point of the interview, which is that you should explain as clearly as possible to the interviewer(s) what you are doing at each step so they understand your problem solving techniques. Please note that the video code looked more like C rather than C++, but could have also been other languages.
Avoid Using Namespace std
If you are coding professionally you should get out of the habit of using the using namespace std; statement. In an interview you definitely don't want to use this statement because it is unprofessional. The concept of Name Spaces was invented to specifically solve certain problems such as collision of duplicate function names from core code and library code. This stack overflow question discusses this in more detail.
Use Code Blocks in Flow Control Rather Than Single Statements
Professional coders generally put code blocks or complex statements into if statements, else clauses or loop bodies. The reason for this is to enhance the maintainability of the code. To many bugs have been introduced into code by trying to add one statement to an if statement, else clause or loop. A code maintainer may forget to add the necessary braces so putting them in from the beginning is better. It also makes the code more readable and easier to understand to begin with.
So code like
        int N = mtx.size();
        for (int n = 0 ; n&lt;= N-2; n++)
            for(int m= n+1 ; m&lt;= N-1; m++)
                swap(mtx[n][m], mtx[m][n]);

is better written as
        size_t N = mtx.size();
        for (size_t n = 0 ; n &lt;= N-2; n++)
        {
            for(size_t m= n + 1 ; m &lt;= N-1; m++)
            {
                std::swap(mtx[n][m], mtx[m][n]);
            }
        }

Obviously a maintainer of the code can figure out where to add a statement here.
Horizontal Spacing
It is common to leave spaces between operator and variable. The horizontal spacing in this code is inconsistent.
Prefer std::size_t Over int For Loop Control Variables That Index through C++ Container Classes
While the code in the example from this question will compile and run properly there may be warning messages if the strictest level of compiler switch is used. std::vector.size() returns std::size_t which is unsigned, rather than signed. If the strictest level of switches are used a the following loop might yield the warning message type mismatch.
        for (int n = 0 ; n &lt;= mtx.size() - 2; n++)
        {
            for(int m= n + 1 ; m &lt;= mtx.size() - 1; m++)
            {
                std::swap(mtx[n][m], mtx[m][n]);
            }
        }