选出对称串并按长度排列输出,请问要怎么才能按长度排列输出?可以的话麻烦说一下详细易懂解题思路
2条回答 默认 最新
- _GX_ 2022-02-28 08:06关注
#include <iostream> #include <string> #include <iterator> #include <vector> #include <algorithm> #include <ranges> using namespace std; bool symmetric(const string &s) { if (s.empty()) return true; auto p = s.begin(); auto q = --s.end(); while (p < q) { if (*p != *q) return false; ++p; --q; } return true; } int main() { vector<string> strs; for (const auto &s : ranges::subrange(istream_iterator<string>(cin), istream_iterator<string>()) | ranges::views::filter(symmetric)) strs.push_back(s); sort(strs.begin(), strs.end(), [](const auto &lhs, const auto &rhs) { return lhs.length() < rhs.length(); }); copy(strs.begin(), strs.end(), ostream_iterator<string>(cout, "\n")); return 0; }
$ g++ -Wall -std=c++20 main.cpp $ ./a.out 123321 123454321 123 312 sdfsdfd 121212 \\dd\\
123321 \\dd\\ 123454321
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报
悬赏问题
- ¥15 WPF 大屏看板表格背景图片设置
- ¥15 这个主板怎么能扩出一两个sata口
- ¥15 不是,这到底错哪儿了😭
- ¥15 2020长安杯与连接网探
- ¥15 关于#matlab#的问题:在模糊控制器中选出线路信息,在simulink中根据线路信息生成速度时间目标曲线(初速度为20m/s,15秒后减为0的速度时间图像)我想问线路信息是什么
- ¥15 banner广告展示设置多少时间不怎么会消耗用户价值
- ¥16 mybatis的代理对象无法通过@Autowired装填
- ¥15 可见光定位matlab仿真
- ¥15 arduino 四自由度机械臂
- ¥15 wordpress 产品图片 GIF 没法显示