题目
题目描述
输入单行英文句子,里面包含英文字母,空格以及.? 三种标点符号,请将句子内每个单词进行倒序,并输出倒序后的语句
输入描述:
输入字符串S,S的长度1≤N≤100
输出描述:
输出逆序后的字符串
补充说明:
标点符号左右的空格>=0,单词间空格 >0示例1
输入:
yM eman si boB.
输出:
My name is Bob.
示例2
输入:
woh era uoy ? I ma enif.
输出:
how are you ? I am fine.
题目解析
将字符串单词转为字符数组后进行reverse。但是单词中如果有标点符号的话,则标点符号的位置不能改变,比如enif. 倒序后为 fine. 其中 . 的位置在倒序前后是一样的。
从左到右遍历每一个字符,如果字符是 , . ? 或者空格,则看成一个分界符,将分界符之间的单词片段进行倒序。
C++
#include<iostream>
#include<vector>
#include<stdlib.h>
#include<algorithm>
#include<string.h