【leetcode】重新排列单词间的空格

char * reorderSpaces(char * text){
    int i,spaceNum=0,mid=0,end=0,wordNum=0;
    int len=strlen(text);
    for (i=0; i<len; i++){
        if (text[i]==' ')
        {
            if (i!=0 && text[i-1]!=' ')
                wordNum++;
            spaceNum++;
        }
    }
    if (text[len-1]!=' ')
        wordNum++;
    mid=(wordNum>1)?spaceNum/(wordNum-1) :spaceNum;
    end=(wordNum>1)?spaceNum%(wordNum-1) :spaceNum;
    char* retStr = (char*)calloc(len*2,sizeof(char));
    char* buffer = strtok(text," ");
    while(buffer){
        strcat(retStr,buffer);
        buffer = strtok(NULL," ");
        for (i=0; i<((buffer)?mid :end); i++)
            strcat(retStr," ");
    }
    retStr[len]='';
    return retStr;    
}
原文地址:https://www.cnblogs.com/ganxiang/p/13947345.html