C语言 | Leetcode C语言题解之第557题反转字符串中的单词III

题目:

题解:

cpp 复制代码
char* reverseWords(char* s) {
    int length = strlen(s);
    char* ret = (char*)malloc(sizeof(char) * (length + 1));
    ret[length] = 0;
    int i = 0;
    while (i < length) {
        int start = i;
        while (i < length && s[i] != ' ') {
            i++;
        }
        for (int p = start; p < i; p++) {
            ret[p] = s[start + i - 1 - p];
        }
        while (i < length && s[i] == ' ') {
            ret[i] = ' ';
            i++;
        }
    }
    return ret;
}
相关推荐
萧瑟其中~2 分钟前
二分算法模版——基础二分查找,左边界查找与右边界查找(Leetcode的二分查找、在排序数组中查找元素的第一个位置和最后一个位置)
数据结构·算法·leetcode
AlenTech17 分钟前
208. 实现 Trie (前缀树) - 力扣(LeetCode)
leetcode
iAkuya18 分钟前
(leetcode)力扣100 36二叉树的中序遍历(迭代递归)
算法·leetcode·职场和发展
wangwangmoon_light26 分钟前
1.1 LeetCode总结(线性表)_枚举技巧
算法·leetcode·哈希算法
码农小韩1 小时前
基于Linux的C++学习——动态数组容器vector
linux·c语言·开发语言·数据结构·c++·单片机·学习
有一个好名字1 小时前
力扣-小行星碰撞
算法·leetcode·职场和发展
济6171 小时前
嵌入式C语言(第一期)
c语言·开发语言
逑之2 小时前
C语言笔记11:字符函数和字符串函数
c语言·笔记·算法
逑之2 小时前
C语言笔记1:C语言常见概念
c语言·笔记·c#