美文网首页
反转单词(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