zoukankan      html  css  js  c++  java
  • C++实现一句英文句子中的单词逆置

    题意:

    比如,输入:I come from China.

              输出:China. from come I

    思路:先将这个字符串整体倒置,再将单个单词倒置,这样既不需要移动元素,也不需要额外的辅助空间,还可以重用代码,很不错吧。

    代码:

     1 #include <iostream>
     2  
     3 int len(char* str) {//计算字符串的长度
     4     int length = 0;
     5     for(int i = 0; str[i] != ''; i++) {
     6         length++;
     7     }
     8     return length;
     9 }
    10 char* reverseWord(char* str ,int i,int j) {//根据i,j的位置反转单词
    11     char temp;
    12     while(i < j) {
    13         temp = str[i]; str[i] = str[j]; str[j] = temp;
    14         i++; j--;
    15     }
    16     return str;
    17 }
    18 char *strReverse(char *str)
    19 {//字符串反转,用到了上面的函数
    20     int length=len(str);
    21     char *newStr=reverseWord(str,0,(length-1));
    22     
    23     for (int i=0; i<length; i++) {
    24         int len=0;
    25         while(newStr[i] != ' ' && newStr[i] !='') {
    26             len++;
    27             i++;
    28         }
    29         int k = i-len,j=i-1;
    30         reverseWord(newStr,k,j);
    31     }
    32  
    33     return str;
    34 }
    35     
    36 int main(int argc, const char * argv[])
    37 {
    38     char str[]="I come from China.";
    39     int length=len(str);
    40     strReverse(str);
    41     for (int i=0; i<length;i++)
    42     {
    43         std::cout <<str[i];
    44     }
    45     std::cout<<std::endl;
    46     
    47     return 0;
    48 }

    转自:https://blog.csdn.net/tyuersunshine/article/details/51045694

  • 相关阅读:
    ffmpeg full help
    docker 服务命令
    php 查看swoole版本
    vue/cli 的启动
    TP框架的使用,不需要阿帕奇
    mysql 的文件恢复
    mac下使用iterm实现自动登陆
    跨库怎样查询
    swoole和websocket的关系
    mac上mysql的安装和使用
  • 原文地址:https://www.cnblogs.com/xuecl/p/12422374.html
Copyright © 2011-2022 走看看