翻转字符串中单词的顺序

原创 2013年12月03日 15:17:38


题目:输入一个英文句子,翻转句子中单词的顺序,但单词内字符的顺序不变。句子中单词以空格符隔开。为简单起见,标点符号和普通字母一样处理。

例如输入“I am a student.”,则输出“student. a am I”。

#include "stdafx.h"
#include <iostream>

using namespace std;

void Reverse(char *pBegin, char *pEnd)
{
 if(pBegin == NULL || pEnd == NULL)
  return;
 while(pBegin < pEnd)
 {
  char temp = *pBegin;
  *pBegin = *pEnd;
  *pEnd = temp;
  pEnd--;
  pBegin++;
 }
}
void ReverseSentence(char *str)
{
 if(str == NULL)
  return;
 char *pBegin = str;
 char *pEnd = str;
 while(*pEnd!='\0')
  pEnd++;
 pEnd--;
 Reverse(pBegin,pEnd);

 pBegin = str;
 for(int i=0;str[i]!='\0';i++)
 {
  if(str[i]!=' ')
   continue;
  else
  {
   pEnd = str+i-1;
   Reverse(pBegin,pEnd);
   pBegin = str+i+1;
  }
 }
}
int _tmain(int argc, _TCHAR* argv[])
{
 char str[] = "I am a student.";
 cout<<"反转之前:"<<endl;
 cout<<str<<endl;
 ReverseSentence(str);
 cout<<"反转之后:"<<endl;
 cout<<str<<endl;
 return 0;
}

简单面试题::字符串按单词反转

字符串按单词反转 输入格式是:"this is a string" 输出格式是: "string a is this" 要求不能用任何库函数 这个题目看似非常简单,但是用纯C语言且...
  • architect19
  • architect19
  • 2013年05月31日 13:49
  • 7048

剑指Offer——反转单词顺序(Java)

问题描述:输入一个英文句子,反转句子中的单词的顺序,但单词内字符的顺序不变;(为简单起见,标点符号与普通字符当做一样处理) 示例       :输入:“I am a student.”      ...
  • woliuyunyicai
  • woliuyunyicai
  • 2015年06月19日 17:13
  • 2240

将字符串中的每个单词顺序进行颠倒,单词还是原来的单词,字母顺序不发生变化,将字符串中的空格用 代替

c单词顺序逆换 [cpp] view plaincopy /*测试数据:Shen zhen is a beautiful city!*/   /*运行...
  • flyingleo1981
  • flyingleo1981
  • 2014年06月09日 18:43
  • 1146

剑指Offer面试题41和为s的两个数字与和为s的连续正数序列,面试题42翻转单词顺序与左旋转字符串

面试题41:和为s的两个数字,和为s的连续正数序列问题1:输入一个递增排序的数组和一个数字s.在数组中查找两个数使他们的和为s,如果有多对数字的和等于s,输出任意一对即可。 思路:固定一个数字然后遍...
  • login_sonata
  • login_sonata
  • 2017年07月30日 15:21
  • 472

剑指Offer面试题:34.翻转单词顺序VS左旋转字符串

一、题目一:翻转单词顺序 1.1 题目说明 题目一:输入一个英文句子,翻转句子中单词的顺序,但单词内字符的顺序不变。为简单起见,标点符号和普通字母一样处理。例如输入字符串"I am a s...
  • qq_39422827
  • qq_39422827
  • 2017年11月13日 15:45
  • 61

【剑指Offer学习】【面试题42:翻转单词顺序vs左旋转字符串】

题目一:输入一个英文句子,翻转句子中单词的顺序,但单词内字啊的顺序不变。为简单起见,标点符号和普通字母一样处理。举例说明例如输入字符串”I am a student. ”,则输出”student. a...
  • DERRANTCM
  • DERRANTCM
  • 2015年07月07日 08:28
  • 2214

Q42:翻转单词顺序VS左旋转字符串

public class Q42翻转单词顺序VS左旋转字符串 {    /**     * 题目:翻转单词顺序VS左旋转字符串     * 题目说明:输入一个英文句子,翻转句子中单词的顺序,但单词...
  • qq_30507287
  • qq_30507287
  • 2016年08月16日 15:39
  • 190

剑指offer之面试题42翻转单词顺序VS左旋转字符串

翻转单词顺序VS左旋转字符串
  • WSYW126
  • WSYW126
  • 2016年05月12日 18:22
  • 356

翻转句子中单词的顺序和字符串的旋转操作 c++面试题

/* 题目描述:输入一个英文句子,翻转句子中单词的顺序,但单词内字符的顺序不变。句子中单词以空格符隔开。 为简单起见,标点符号和普通字母一样处理。如:”I am a student.”翻转成”st...
  • lz20120808
  • lz20120808
  • 2016年04月09日 22:44
  • 361

面试算法(四十二)翻转单词顺序VS左旋转字符串

1、题目:输入一个英文句子,翻转句子中单词的顺序
  • woshibendangao
  • woshibendangao
  • 2014年07月18日 14:43
  • 641
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:翻转字符串中单词的顺序
举报原因:
原因补充:

(最多只允许输入30个字)