给定一个字符串,逐个翻转字符串中的每个单词
来源:互联网 发布:北京邮电大学 网络 编辑:程序博客网 时间:2024/06/06 03:56
说明
- 单词的构成:无空格字母构成一个单词
- 输入字符串是否包括前导或者尾随空格?可以包括,但是反转后的字符不能包括
- 如何处理两个单词间的多个空格?在反转字符串中间空格减少到只含一个
开始写了一个 没过测试,不过可以翻转,只是空格多了没有处理,代码如下
class Solution {public:/*** @param s : A string* @return : A string*/string reverseWords(string s) {// write your code hereint len = s.size();char *str = new char[len];strcpy(str, s.c_str()); char temp;int i = 0, j = 0;for (i = 0, j = len - 1; i < j; i++, j--){temp = str[i];str[i] = str[j];str[j] = temp;}cout << str << endl;int k = 0;while (k < len){i = j = k;while (str[j] != ' ' && str[j] != '\0'){j++;}k = j + 1;j--;for (; i < j; i++, j--){temp = str[i];str[i] = str[j];str[j] = temp;}while (str[k] == ' '){k++;}}return str;}};想了很久没想到应对的策略,就从网上找了下 ,找了一个对的,贴出代码来,是转的别人的
class Solution {public: /** * @param s : A string * @return : A string */ string reverseWords(string s) { // write your code here string word, line; int size=s.size(); int i=size-1, j, begin=size-1, end=size-1; if(s.empty()) return string(); while(i >= 0) { while(s[i]==' ' && i>=0) { begin--; end--; i--; } while(s[i]!=' ' && i>=0) { begin--; i--; } word.resize(0); for(j=begin+1; j<=end; j++){ word.append(1, s[j]); } if(begin == 0) line = line + word; else line = line + word + " "; end = begin; } return line; }};
阅读全文
0 0
- 给定一个字符串,逐个翻转字符串中的每个单词
- 翻转字符串中的单词
- 翻转字符串中的单词
- 翻转字符串中的单词
- 翻转字符串中的单词
- 将字符串中的单词翻转
- 将字符串中的单词翻转
- 给定一个字符串,你需要颠倒每个单词中的字符顺序,同时仍然保留空白和初始的字顺序。
- 给定一个字符串,你需要颠倒一个句子中每个单词中的字符顺序,同时保留空格和初始单词顺序。
- leetcode之反转给定字符串中的单词
- python 字符串翻转| 单词翻转
- 给定一个字符串s和一个单词dict的字典,在s中添加空格来构造一个句子,其中每个单词都是有效的字典单词。
- 字符串中的每个单词倒序输出
- 字符串单词翻转
- 【字符串】单词翻转
- 【字符串】翻转单词顺序
- 输入一个字符串,把这个字符串中的每个单词打印出来,即输出到屏幕
- 给定一个字符串,按单词将该字符串逆序。
- 站长们注意啦!开源CMS Drupal 8发布更新修复多处高危漏洞补丁,提示您升级
- 旋转数组中的最小数字
- Java复制文件
- Hibernate的三种状态以及状态的转换
- 新一代PSIS系统
- 给定一个字符串,逐个翻转字符串中的每个单词
- 支付宝支付开发,微信支付开发
- Android图表库MPAndroidChart(七)—饼状图
- Mxnet:以全连接层为例子自定义新的操作(层)
- jieba和thulac使用比较
- SpringMVC的运行原理及整合
- HDU 2147-kiki's game
- DOM遍历
- Andriod 安全之Windows下CTS自动化测试环境的搭建