剑指offer-翻转单词顺序列
来源:互联网 发布:云 阿里斯托芬 pdf 编辑:程序博客网 时间:2024/05/20 12:23
问题
题目:[剑指offer-翻转单词顺序列]
思路
这个题我见的多了,STL算法搞定。
两个问题:
1. 成员函数写成static,否则find_if的第三个参数无法绑定
2. 边界数据,只有空格的情形。
代码
class Solution {public: string ReverseSentence(string str) { typedef string::const_iterator const_iter; const_iter b = str.begin(); const_iter e = str.end(); string ret; int first = 1; while( b != e ){ b = find_if( b, e, legal ); if( b < e ){ const_iter after = find_if( b, e, illegal ); if( ret != "" ) ret = string(b, after) + " " + ret; else ret = string(b, after) + ret; b = after; } else{ if( 1 == first ) return str; else first = 2; } } return ret; }private: static bool legal( char ch ){ return !illegal(ch); } static bool illegal( char ch ){ return isspace(ch); }};
阅读全文
0 0
- 《剑指offer》翻转单词顺序列
- 剑指offer--翻转单词顺序列
- 剑指offer—翻转单词顺序列
- 剑指offer:翻转单词顺序列
- 剑指offer:翻转单词顺序列
- [剑指offer]翻转单词顺序列
- 剑指Offer--042-翻转单词顺序列
- 剑指offer题解 翻转单词顺序列
- 剑指offer|翻转单词顺序列
- 《剑指offer》-翻转单词顺序列
- 剑指offer 翻转单词顺序列
- 剑指offer-44.翻转单词顺序列
- 【剑指offer】翻转单词顺序列
- 《剑指offer》翻转单词顺序列
- 剑指offer-翻转单词顺序列
- 剑指offer--翻转单词顺序列
- 剑指offer:翻转单词顺序列
- 剑指offer 45 翻转单词顺序列
- spring security
- [leetcode] 167.Two Sum II
- @Async不起作用
- c# 微信授权登录与微信支付
- 可持久化线段树(主席树)【舰娘系列】【自编题】
- 剑指offer-翻转单词顺序列
- JS正则表达式完整教程(略长)
- 游戏化设计可以让用户爱上你的产品
- String类、StringBuffer类、StringBuilder类详解
- kotlin实现一个Recyclerview与java的比较
- Quartz任务调度框架学习二(核心接口及cron表达式简介)
- svn“Previous operation has not finished; run 'cleanup' if it was interrupted“报错的解决方法
- 神经网络与深度学习 笔记4 交叉熵代价函数 softmax函数
- TextInputLayout的使用