OJ-557-反转字符串中的单词-刷题计划

OJ-557-反转字符串中的单词-刷题计划

其题如图所示,具体思路在于,需要找到空格,然后反转单词,再继续循环查找,进行反转

OJ-557-反转字符串中的单词-刷题计划

char* reverseWords(char* s)
{
    int length = strlen(s);//迭代条件
    int i = 0;
    while (i < length)
    {
        int start = i;
        while (i < length && s[i] != ' ') //查找空格阶段
        {
            i++;
        }
        int left = start, right = i - 1;
        while (left < right)//反转阶段
        {
            char tmp = s[left];
            s[left] = s[right], s[right] = tmp;
            left++;
            right--;
        }
        while (i < length && s[i] == ' ') //跳过空格阶段
        {
            i++;
        }
    }
    return s;
}

 

上一篇:AtCoder 总结


下一篇:每日一题 0131