【剑指offer】翻转单词顺序,C++实现
原创博文,转载请注明出处!
# 题目
# 思路
两次翻转,第一次翻转整个句子,第二次翻转每个单词(单词之间用逗号隔开)
# 代码
#include <iostream> #include <string> using namespace std; class Solution { public: string ReverseSentence(string str) { // 特殊输入 int len=str.length(); if(len==0) return ""; // 使用翻转函数翻转整个句子 Reverse(str,0,len-1); cout<<"句子翻转"<<endl; cout<<str<<endl;
// 寻找单词并使用翻转内函数翻转单词 int i=0;//辅助变量 int j=0;//辅助变量 while(i<len) { // 寻找单词开头 if(str[i]==' ') { i++; j++; } // 寻找单词结尾 if(str[j]!=' ' && str[j]!='