美文网首页
1.1 字符串的旋转

1.1 字符串的旋转

作者: 吴金君 | 来源:发表于2018-08-13 21:54 被阅读0次

字符串的旋转

这个题目很经典,好像我听广播都听到了:
题目:输入一个英文句子,将它旋转,句号按字符处理。
示例:
输入:"I am a student."
输出:"student. am a I"

#include <iostream>
#include <string>
using namespace std;

void reverseword(string &s,int from,int to)//单词翻转函数,from是单词首元素,to是单词尾元素
{
    char temp;
    while(from<to)
    {
        temp=s[from];
        s[from++]=s[to];    //from前移
        s[to--]=temp;       //to后移
    }
    return;
}

int main(int argc, char *argv[])
{
    string str;
    while(getline(cin,str))
    {
        reverseword(str,0,str.size()-1);     //先把整个字符串翻转
        int from=0;             //from是单词的第一个元素
        for(int i=0;i<str.size();++i)
        {
            if(str[i]==' ')         //判断空格,以空格为间隔把每个字符翻转
            {
                int to=i;           //to为尾元素的后一个坐标
                reverseword(str,from,to-1);//实际做翻转的时候需要to-1得到真正的尾元素
                from =i+1;
            }
        }
        cout <<str <<endl;
    }
    cout << "Hello World!" << endl;
    return 0;
}

相关文章

  • 1.1 字符串的旋转

    字符串的旋转 这个题目很经典,好像我听广播都听到了:题目:输入一个英文句子,将它旋转,句号按字符处理。示例:输入:...

  • 面试和算法心得

    目录 第一章 字符串1.0 本章导读1.1 旋转字符串1.2 字符串包含1.3 字符串转换成整数1.4 回文判断1...

  • 《程序员编程艺术:面试和算法心得》

    第一部分 数据结构 第一章 字符链表 1.0 本章导读 1.1 旋转字符串 1.2 字符串包含 1.3 字符串转换...

  • 第一章 字符串

    1.1字符串的旋转给定一个字符串,要求将字符串前面的若干个字符移到字符串的尾部。例如,将字符串‘abcdef’的前...

  • 旋转字符串 (lintcode:rotate-string)

    旋转字符串 给定一个字符串和一个偏移量,根据偏移量旋转字符串(从左向右旋转) 例如: 对于字符串 "abcdefg...

  • 旋转字符串

    旋转字符串

  • 判断字符串str1是否是字符串str2的旋转词

    判断字符串str1是否是字符串str2的旋转词 对字符串的旋转操作描述如下:例如: str = "123456" ...

  • lintCode题解(8)

    标签(空格分隔): lintCode 旋转字符串 给定一个字符串和一个偏移量,根据偏移量旋转字符串(从左向右旋转)...

  • LintCode算法刷题之旋转字符串

    链接:旋转字符串 描述 给定一个字符串(以字符数组的形式给出)和一个偏移量,根据偏移量原地旋转字符串(从左向右旋转...

  • 牛客/力扣算法题

    1.逆转字符串 2.旋转字符串

网友评论

      本文标题:1.1 字符串的旋转

      本文链接:https://www.haomeiwen.com/subject/nnjpbftx.html