题解 | #字符串倒序#

字符串倒序

http://www.nowcoder.com/questionTerminal/cb4bd428c20549c5aafab4297cecb9ec

基本思路:
从字符串末尾向首地址元素倒序遍历,遇见空格字符且该空格字符下一位字符非空格时,打印出字符串,以空格或者'\0'结束。由于原字符串的开头没有空格,使用倒叙遍历无法找到第一个单词,故需要再手动从字符串数组的首地址元素开始,以空格或者'\0'结束,将第一个单词输出。
c语言源码:

#include<stdio.h>
#include<string.h>
int main()
{
    char a[100000];
    while (gets(a))
    {
        int i,j;
        for(i=strlen(a)-1;i>=0;i--)
        {
            if(a[i]==' '&&a[i+1]!=' ')
            {
                for(j=i+1;a[j]!='\0'&&a[j]!=' ';j++)
                {
                    printf("%c",a[j]);
                }
                printf(" ");
            }
        }
        for(i=0;a[i]!=' '&&a[i]!='\0';i++) printf("%c",a[i]);
        printf("\n");
    }
    return 0;
}

注意事项:
1.由于每个单词之间可能存在若干个空格,所以再使用倒叙遍历寻找每个单词首地址时,需要以“该元素是空格,且下以元素非空格”来判断。
2.若字符串只存在一个单词或者字符时,在输出时注意字符串单词以空格或者字符串结束字符'\0'判断。

全部评论

相关推荐

06-13 12:13
已编辑
东北大学 射频工程师
26毕业的,日常实习还能找到吗
求实习的青提很想去大厂:目前应该还有hc吧,腾讯感觉还有hc,最近捞了我好几次,因为目前有offer,所以不准备面了,可以再找找,不行的话就找找中小厂试试,因为我之前也找了好久,准备放弃了,结果有个岗位流程特别顺利,然后就oc,只能说坚持下试试,万一呢💪
点赞 评论 收藏
分享
05-30 18:54
武汉商学院 Java
湫湫湫不会java:先投着吧,大概率找不到实习,没实习的时候再加个项目,然后把个人评价和荣誉奖项删了,赶紧成为八股战神吧,没实习没学历,秋招机会估计不多,把握机会。或者说秋招时间去冲实习,春招冲offer,但是压力会比较大
点赞 评论 收藏
分享
评论
1
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务