温馨提示×

温馨提示×

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

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

反转字符串中的单词

发布时间:2020-06-27 22:48:21 来源:网络 阅读:1278 作者:汇天下豪杰 栏目:编程语言

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);




向AI问一下细节

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

AI