[WikiOI] 1.3.2 单词翻转
来源:互联网 发布:vmware for mac下载 编辑:程序博客网 时间:2024/06/05 11:41
[Problem]
给出一个英语句子,希望你把句子里的单词顺序都翻转过来
[Analysis]
为保证额外的空间开销,在原字符串上处理:首先将整个句子翻转一遍,然后从头到尾遍历一次,翻转每一个单词。
[Solution]
#include <stdio.h>#include <string.h>#define MAX_LEN 10001int main(){ // input data char str[MAX_LEN]; gets(str); int len = strlen(str); // reverse all characters for(int i = 0; i < len/2; ++i){ char tmp = str[i]; str[i] = str[len-1-i]; str[len-1-i] = tmp; } // reverse words int start = 0, end = 0; while(end < len){ // filter blanks while(end < len && str[end] != ' '){ end++; } // reverse if(end > start){ for(int i = 0; i < (end-start)/2; ++i){ char tmp = str[start + i]; str[start + i] = str[end-1-i]; str[end-1-i] = tmp; } start = end; } // move forward start++; while(start < len && str[start] == ' '){ start++; } end = start; } // output result printf("%s\n", str); return 0;}
阅读全文
0 0
- [WikiOI] 1.3.2 单词翻转
- WikiOI 1205 单词翻转
- wikioi p1205 单词翻转
- Wikioi 天梯 单词翻转(1205)
- wikioi天梯之单词翻转之递归
- 单词翻转
- 单词翻转
- 单词翻转
- 翻转单词
- 单词翻转
- 翻转单词
- 单词翻转
- 单词翻转
- 单词翻转
- 单词翻转
- 单词翻转
- 单词翻转
- 单词翻转
- MFC DLL 的三种类型
- [WikiOI] 1.2.2 保留两位小数
- babel
- JAVA入门学习小结(一)类的数据存放位置和代码块解析
- [WikiOI] 1.3.1 寻找子串位置
- [WikiOI] 1.3.2 单词翻转
- [WikiOI] 2.1.1 明明的随机数
- css3 box-pack box-align 居中
- [WikiOI] 2.1.2 排序
- hdu 6205 card card card
- CTF竞赛之misc-base64
- [WikiOI] 2.2.1 Cantor表
- [WikiOI] 2.2.2 蛇形矩阵
- [WikiOI] 2.3.1 最大公约数和最小公倍数