题解 | #翻转单词序列#C语言

翻转单词序列

http://www.nowcoder.com/practice/3194a4f4cf814f63919d0790578d51f3

```/**
 * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
 *
 * 
 * @param str string字符串 
 * @return string字符串
 *
 * C语言声明定义全局变量请加上static,防止重复定义
 */
#include<string.h>

char* ReverseSentence(char* str ) {
    // write code here
    char *stack=(char*)malloc(sizeof(char) * 100);//栈,临时保存两个空格之间的字母
    int top=0;//栈顶
    char *res=(char*)malloc(sizeof(char) * 100);//输出结果
    int j=0;//输出结果的索引
    int len=strlen(str);//字符串长度
    int i=len-1;//最后一个字符的索引
    while(i>=0){
		//从str的最后一个字符向第一个字符进行遍历
        if(str[i]!=' '){//如果不是空格,入栈
            stack[top++]=str[i];
        }else{//如果是空格,将栈中的字符全部存入res
            while(top>0)res[j++]=stack[--top];
            res[j++]=' ';
        }
        i--;
    }
   //当i==0时,最后一个字母存入栈中,但没有保存到res
    while(top>0)res[j++]=stack[--top];
    res[j]='\0';
    return res;
}
全部评论

相关推荐

大猪蹄子哥:1-谁教你这么写教育经历的……咱都这个学历了,很多公司要看本科、硕士,Gap Year的,你啪就给一个上大26届硕士,没了。 2-那堆奖学金揉成一行放最后得了,放前面显得你没技术自信,还是那句话,对于咱这个学历直接上重点,你这上半段看起来像个大专(无恶意 3-专业技能最好点出来细化方向,你熟悉的以太网是UDP还是TCP,是千兆还是万兆等等,多种信号处理……那你倒是说两个啊,后面空着干嘛,会的干嘛不讲 4-项目经历废话太多,描述不专业(怎么还有我,我们这种词),没有数据支撑(是婴儿还是巨人看不出来)。最后如果这些是真的XX项目、比赛,最好点出来,不然更显得像自学着玩的,或者说抄的(经典复现等于我做过 5-个人总结在咱这个分段没用
点赞 评论 收藏
分享
03-10 20:35
已编辑
武汉大学 C++
点赞 评论 收藏
分享
评论
4
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务