题解 | #单词倒排#

单词倒排

https://www.nowcoder.com/practice/81544a4989df4109b33c2d65037c5836

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

// void move(char* arr, int i, int tail)
// {
//     while(i < tail)
//     {
//         char tmp = arr[i];
//         arr[i] = arr[tail];
//         arr[tail] = tmp;
//         i++;
//         tail--;
//     }
// }

int main() {
    char arr[10010];
    gets(arr);
    int len = strlen(arr);
    for (int i = 0; i < len; i++)
    {
        if (!isalpha(arr[i]))
        {
            arr[i] = ' ';
        }
    }
    for (int i = len-1; i >= 0;)
    {
        if (i >=0 && isalpha(arr[i]))
        {
            while(i >=0 && isalpha(arr[i]))
            {
                i--;
            }
            printf("%s ", &arr[i+1]);
        }
        while(i >=0 && arr[i] == ' ')
        {
            i--;
        }
        if (i >= 0)
        {
            arr[i+1] = '\0';
        }
    }
    return 0;
}

全部评论

相关推荐

投递腾讯云智研发等公司7个岗位
点赞 评论 收藏
转发
点赞 收藏 评论
分享
牛客网
牛客企业服务