美文网首页
反转单词(C)

反转单词(C)

作者: 陈_振 | 来源:发表于2018-09-12 21:15 被阅读0次

基于上一篇的反转字符串


void reverseString(char *str, int start, int end) {
    
    while (start < end) {
        // 交换前后两个字符,同时移动指针
        char temp = str[start];
        str[start] = str[end];
        str[end] = temp;
        
        start++;
        end--;
    }
}



void reverseWords(char *str) {
    if (str == NULL) {
        return;
    }
    
    int start = 0;
    int strLength = (int)strlen(str);
    
    // 将字符串整体反转
    reverseString(str, 0, strLength - 1);
    
    for (int i = 0; i < strLength; i++) {
        
        if (i == strLength - 1 || str[i+1] == *" ") {
            reverseString(str, start, i);
            start = i + 2;
        }
    }
    
    return;
}

相关文章

网友评论

      本文标题:反转单词(C)

      本文链接:https://www.haomeiwen.com/subject/ufobgftx.html