题解 | #单词倒排#

单词倒排

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

递归分割法

    这种方法并没有改变原数组内容,只是倒着打印了一遍。先把字符串中所有非英文字母元素置为空格,然后再分割字符串中的单词,具体的思路可以看看我之前写的这篇博客😊:http://t.csdn.cn/SfV4o

代码实现(C语言)

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

void reversePrint(char* str)
{
    char* str_cy = str;
    while(*str != ' ' && *str != '\0')
    {
        str++;
    }
    
    if(*str == ' ')
    {
        *str = '\0';
        reversePrint(str+1);
    }
    
    printf("%s ", str_cy);
    
}

int main()
{
    char str[10001] = {0};
    gets(str);
    int i = 0;
    char* str_cy = str;
    while(*str_cy)
    {
        if(isalpha(str_cy[i]) == 0)
            str_cy[i] = ' ';
        str_cy++;
    }
    reversePrint(str);
    
    return 0;
}


全部评论

相关推荐

评论
1
收藏
分享

创作者周榜

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