反转字符串中的单词

发布时间:2020-06-27 22:48:21 作者:汇天下豪杰
来源:网络 阅读:1249

1、问题描述:

例:I am student    ------>结果为:student am I

算法思想:

  先将整个字符串反转一遍,然后在从头开始,遇到空格的在次进行反转,就可以实现反转字符串中的单词了;


2、代码实现

#include<stdio.h>
#include<string.h>
#include<ctype.h>


void revStr(char *str, int from, int to);
void finalRev(char *str);

void finalRev(char *str){
    int from = 0;
    int to = 0;

    while(str[to]){
        while(isalpha(str[to])){
            to++;
        }
        revStr(str, from, to-1);
        while(isspace(str[to])){  //针对中间出现多个空格的情况,可以跳跃过去
            to++;
        }
        from = to;
    }
}

void revStr(char *str, int from, int to){
    char tmp;

    while(from < to){
        tmp = str[from];
        str[from++] = str[to];
        str[to--] = tmp;
    }
}

void main(void){
    char str[80];
    char *p = str;
    int strLen;
    int count = 0;
    int i = 0;

    printf("请输入字符串:\n");
    gets(str);
    strLen = strlen(str);
    revStr(str, 0, strLen-1);
    finalRev(str);

    puts(str);    
}


3、结果截图

反转字符串中的单词

算法分析:空间复杂度为:O(1);




推荐阅读:
  1. python创建属于自己的单词词库 便于背单词
  2. C#中怎么判断单词的个数

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

字符串 单词 反转

上一篇:oracle基本操作

下一篇:批量导出存储在msdb库的SSIS包

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》