不好意思,我之前说的有点问题,正确的应该是这样: // 顺时针旋转 void rotate(vector<vector<int>>& matrix) { int n = matrix.size(); if (n < 2)return; //1. 交换对角元素 for (int i = 0; i < n; ++i) { for (int j = 0; j < i; ++j) { swap(matrix[i][j], matrix[j][i]); } } //2. 每一行逆序 for (int i = 0;i < n;++i) { reverse(matrix[i].begin(), matrix[i].end()); } } //同理:若需要进行逆时针翻转,则先对每一行进行逆序,然后交换对角元素
1 1

相关推荐

不愿透露姓名的神秘牛友
09-27 08:14
1.&nbsp;C++中的构造函数和析构函数有什么区别?2.&nbsp;C++中的拷贝构造函数和移动构造函数有什么不同?3.&nbsp;解释一下C++中的命名空间(namespace)。4.&nbsp;C++中的模板元编程是什么,有什么应用?5.&nbsp;C++中如何实现一个简单的适配器模式?6.&nbsp;C++中的std::array与C风格数组有什么区别?7.&nbsp;C++中的std::map和std::unordered_map有什么区别?8.&nbsp;C++中如何实现一个简单的状态模式?9.&nbsp;C++中的虚函数表(vtable)是什么?10.&nbsp;解释一下C++中的多态性(polymorphism)。11.&nbsp;C++中如何使用std::thread创建线程?12.&nbsp;C++中的std::regex如何使用进行正则表达式匹配?13.&nbsp;C++中的std::unordered_set与std::set有什么区别?14.&nbsp;C++中如何实现一个简单的中介者模式?15.&nbsp;解释一下C++中的函数指针和函数对象的区别。16.&nbsp;C++中的std::mutex和std::recursive_mutex有什么区别?17.&nbsp;C++中如何使用模板实现类型安全的函数?18.&nbsp;C++中的std::condition_variable如何使用?19.&nbsp;C++中如何实现一个简单的代理模式?20.&nbsp;C++中的std::thread_local有什么用?21.&nbsp;C++中如何实现一个简单的组合模式?22.&nbsp;解释一下C++中的智能指针的生命周期管理。23.&nbsp;C++中如何使用std::transform对容器中的元素进行变换?24.&nbsp;C++中的std::priority_queue有什么特点?25.&nbsp;C++中如何实现一个简单的访问者模式?26.&nbsp;解释一下C++中的异常处理机制。27.&nbsp;C++中如何使用std::function来存储可调用对象?28.&nbsp;C++中如何实现一个简单的命令模式的示例?29.&nbsp;C++中的std::string与C风格字符串有什么区别?30.&nbsp;C++中如何使用std::shared_ptr和std::weak_ptr避免循环引用?问题答案已经整理到专栏中了,关注我分享更多知识。&nbsp;&nbsp;c++/嵌入式面经专栏-牛客网 https://www.nowcoder.com/creation/manager/columnDetail/MJNwoM
点赞 评论 收藏
分享
牛客网
牛客企业服务