LeetCode 翻转字符串里的单词

python【力扣LeetCode算法题库】151- 翻转字符串里的单词 翻转字符串里的单词 给定一个字符串,逐个翻转字符串中的每个单词。 示例 1: 输入: “the sky is blue” 输出: “blue is sky the” 示例 2: 输入: " hello world! " 输出: “world! hello” 解释: 输入字符串可以在前面或者后面包含多余的空格,但是反转后的字符不能包括。 示例 3: 输入: “a good example... 阅读详情

 

给你一个字符串 s ,逐个翻转字符串中的所有 单词 。

单词 是由非空格字符组成的字符串。s 中使用至少一个空格将字符串中的 单词 分隔开。

请你返回一个翻转 s 中单词顺序并用单个空格相连的字符串。

说明:

输入字符串 s 可以在前面、后面或者单词间包含多余的空格。
翻转后单词间应当仅用一个空格分隔。
翻转后的字符串中不应包含额外的空格。
 

示例 1:

输入:s = "the sky is blue"
输出:"blue is sky the"
示例 2:

输入:s = "  hello world  "
输出:"world hello"
解释:输入字符串可以在前面或者后面包含多余的空格,但是翻转后的字符不能包括。
示例 3:

输入:s = "a good   example"
输出:"example good a"
解释:如果两个单词间有多余的空格,将翻转后单词间的空格减少到只含一个。
示例 4:

输入:s = "  Bob    Loves  Alice   "
输出:"Alice Loves Bob"
示例 5:

输入:s = "Alice does not even like bob"
输出:"bob like even not does Alice"
 

提示:

1 <= s.length <= 104
s 包含英文大小写字母、数字和空格 ' '
s 中 至少存在一个 单词
 

作者:力扣 (LeetCode)
链接:https://leetcode-cn.com/leetbook/read/array-and-string/crmp5/

注:未采用原地,使用额外空间

代码:

char* reverseWords(char* s) {
    int len = strlen(s);//字符串的长度
    int q = len - 1, m = 0, flag = 0, i, k;
    char* ret = (char*)calloc(len + 1, sizeof(char));//返回的数组

    for(k=0;k<len;k++)//k为第一个字母的下标
            if(s[k]!=' ')break;
    for (i = len - 1; i >= k; i--) {
        if (s[i] == ' '&&i!=k) {
            for (int p = i + 1; p <= q; p++) {
                ret[m++] = s[p];
                flag = 1;
            }
            if (flag&&i!=k) {
                ret[m++] = ' ';
                flag = 0;
            }
            q = i - 1;
        }
        else if(i==k)
            for(int p=i;p<=q;p++)
                ret[m++]=s[p];
    }
    return ret;
}

基于MATLAB/Simulink与WSL2的ROS2实时联合仿真实践 本文详细介绍了基于MATLAB/Simulink与WSL2的ROS2实时联合仿真实践。通过环境配置、PX4仿真环境搭建、自定义消息生成、Simulink通信实现及实时优化等步骤,提供了完整的无人机位置控制案例,帮助开发者实现高精度的实时联合仿真。 阅读详情

相关推荐

Oracle Patch清理

- opatch clean的帮助,该命令清除.patch_storage directory文件夹下的'restore.sh,make.txt' files and 'scratch,backup'-- 执行完毕后,貌似没有变化,可能和自己环境有关(19年开始测试补丁,基本上每个季度都测试,后面把又把数据库用RMAN做了迁移,又转换成了PDB模式)。在对Oracle安装补丁后,会发现OS上被占用了大量的空间,本文档清理Opatch过程中的一些文件,释放空间。--清理后空间,剩余25G。

文档搬运工 1072

iOS LeetCode ☞ 翻转字符串里的单词

给你一个字符串 s ,逐个翻转字符串中的所有 单词 。 单词 是由非空格字符组成的字符串。s 中使用至少一个空格将字符串中的 单词 分隔开。 请你返回一个翻转 s 中单词顺序并用单个空格相连的字符串。 说明: 输入字符串 s 可以在前面、后面或者单词间包含多余的空格。 翻转后单词间应当仅用一个空格分隔。 翻转后的字符串中不应包含额外的空格。 示例 1: 输入:s = "the sky is blue" 输出:"blue is sky the" 示例 2: 输入:s = " hello world

HumorousGhost 491

深入理解HanLP1.x,填平可能遇到的坑

提取指定数量的摘要。自定义词典为什么要单独领出来讲呢?因为在我们的业务开发中,可能分词的效果并不理想,需要定制自己的词库,索引更加常用。例如:小米su7特斯拉modelY比亚042025款6575767670908我们需要分出小米su72025款等词。我们分别看看用字典和不用字典的效果。

static_coder的博客 977

字符串中等 LeetCode151. 颠倒字符串中的单词

151. 颠倒字符串中的单词 描述 给你一个字符串 s ,颠倒字符串中 单词 的顺序。 单词 是由非空格字符组成的字符串。s 中使用至少一个空格将字符串中的 单词 分隔开。 返回 单词 顺序颠倒且 单词 之间用单个空格连接的结果字符串。 注意:输入字符串 s中可能会存在前导空格、尾随空格或者单词间的多个空格。返回的结果字符串中,单词间应当仅用单个空格分隔,且不包含任何额外的空格。 分析 从后向前遍历,挑出每个单词,加入StringBuilder。 class Solution { public St

31楼下小黑的博客 1045

UE5 StateTree实战:用分层状态机重构你的AI行为逻辑(附蓝图配置避坑点)

本文详细介绍了UE5中StateTree分层状态机的实战应用,帮助开发者重构AI行为逻辑。通过核心概念解析、迁移策略、高级技巧和避坑指南,展示了StateTree在灵活性、可维护性和并行处理方面的优势,特别适合复杂AI行为的开发与优化。

weixin_42558257的博客 249

极化码理论及算法研究6-SCL、CA-SCL及matlab仿真

极化码译码算法5——SCL/CA-SCL译码算法系列目录1、引言2、串行抵消列表(SCL)译码算法2.1、路径度量PM 系列目录 (如要找其他内容,欢迎访问我的主页寻找) #前言 #极化码概述 #极化码定义 #极化码编码 #极化码译码 #5G标准中极化码的编译码概述 #5G标准中极化码的编码 #5G标准中极化码的译码 #总结 1、引言 在上一节中,介绍了经典的SC译码算法的理论原理以及其matlab仿真代码,SC译码算法具有较低的译码复杂度,但是由于每个译码的比特信息都依赖于前面所有的比特信息的译码结果,得

1万+

leetcode系列:151. 反转字符串中的单词

给你一个字符串 s ,请你反转字符串中 单词 的顺序。单词 是由非空格字符组成的字符串。s 中使用至少一个空格将字符串中的 单词 分隔开。返回 单词 顺序颠倒且 单词 之间用单个空格连接的结果字符串。注意:输入字符串 s中可能会存在前导空格、尾随空格或者单词间的多个空格。返回的结果字符串中,单词间应当仅用单个空格分隔,且不包含任何额外的空格。s = "反转后的字符串中不能存在前导空格和尾随空格。反转字符串js

qq_40596257的博客 386

C#身份验证黑科技:用量子级加密与多维防御矩阵构建坚不可摧的用户管理系统!

某金融系统因身份验证漏洞导致200万用户数据泄露,量子级防御可将攻击面缩小99.99%。

墨夶的博客 353

151. 反转字符串中的单词

给你一个字符串 s ,请你反转字符串中 单词 的顺序。

qq_41830037的博客 194

uniapp(安卓 | 苹果) - 最新详细实现App打包发布教程,uni-app苹果IOS软件应用上架App Store软件商店,uni-app打包发布安卓Android软件到各大应用商店(详细教程

uni-app,安卓android,苹果ios,uniapp App软件,Uniapp上架发布应用,打包构建,apk、app软件,应用商店,应用市场,app store,uni-app安卓苹果app上架应用商店,app应用从创建到上架_uniapp打包app的流程和上架,uniapp打包上架ios Appstore 最全流程,苹果应用商店上架教程,uniapp生成的app怎么上架到iphone的app store,uni-app打包到上架Android , ios完整详细流程,审核一直不通过,软件商店审核失

✅ 精选推荐文章 1万+

DeepSeek+Cline:开启自动化编程新纪元

随着 AI 技术不断进步,编程领域迎来效率变革。DeepSeek 与 Cline 的结合,成为自动化编程的强大工具。DeepSeek 凭借先进的自然语言处理能力,能精准理解编程需求;Cline 作为 VSCode 插件,可实现代码生成、调试、注释等功能的无缝衔接。本文详细阐述二者安装配置、实战操作流程,涵盖从基础代码生成到复杂项目开发的应用技巧,同时解答常见问题,帮助开发者快速掌握这对 “智能搭档”,提升编程效率,解锁自动化编程的无限可能。

邓邓子的博客 6254

55.右旋字符串(卡码网第八期模拟笔试)

字符串的右旋转操作是把字符串尾部的若干个字符转移到字符串的前面。给定一个字符串 s 和一个正整数 k,请编写一个函数,将字符串中的后面 k 个字符移到字符串的前面,实现字符串的右旋转操作。 例如,对于输入字符串 "abcdefg" 和整数 2,函数应该将其转换为 "fgabcde"。

lulutoy的博客 346

基于GA-BP遗传算法优化神经网络的多输入多输出数据预测-Python代码实现

多输入多输出的GA-BP神经网络

2301_80449389的博客 2308

LeetCode 151.翻转字符串里的单词

示例 1: 输入: "the sky is blue" 输出: "blue is sky the"示例 3: 输入: "a good example" 输出: "example good a"示例 2: 输入: " hello world!" 输出: "world!解释: 输入字符串可以在前面或者后面包含多余的空格,但是反转后的字符不能包括。解释: 如果两个单词间有多余的空格,将反转后单词间的空格减少到只含一个。给定一个字符串,逐个翻转字符串中的每个单词。将字符串去除多余的空格。

m0_74989367的博客 580

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

LeetCode151. 翻转字符串里的单词 多种解法

LeetCode151. 翻转字符串里的单词 题目 难度 中等 给定一个字符串,逐个翻转字符串中的每个单词。 示例 1: 输入: "the sky is blue" 输出: "blue is sky the" 示例 2: 输入: " hello world! " 输出: "world! hello" 解释: 输入字符串可以在前面或者后面包含多余的空格,但是反转后的字符不能包括。 示例 3:...

一起加油 4861

Data-Structures-and-Algorithm-Analysis-in-Java.pdf

作者: Weiss, Mark A. 出版社: Addison Wesley Data Structures and Algorithm Analysis in Java is an “advanced algorithms” book that fits between traditional CS2 and Algorithms Analysis courses. In the old ACM Curriculum Guidelines, this course was known as CS7. This text is for readers who want to learn good programming and algorithm analysis skills simultaneously so that they can develop such programs with the maximum amo...

力扣(LeetCode)翻转字符串里的单词 个人题解

给定一个字符串,逐个翻转字符串中的每个单词。 示例 1: 输入: "the sky is blue" 输出:"blue is sky the" 示例 2: 输入: " hello world! " 输出:"world! hello" 解释: 输入字符串可以在前面或者后面包含多余的空格,但是反转后的字符不能包括。 示例 3: 输入: "a good ...

weixin_30699235的博客 181

SAP B1中文培訓教材_SDK

公司内部培训资料,对开发工具 ,DIAPI, UIAPI,Add-ON有详细解说

Leetcode 151. 翻转字符串里的单词 C++

Leetcode 151. 翻转字符串里的单词 题目 给定一个字符串,逐个翻转字符串中的每个单词。 测试样例 示例 1: 输入: "the sky is blue" 输出: "blue is sky the" 示例 2: 输入: " hello world! " 输出: "world! hello" 解释: 输入字符串可以在前面或者后面包含多余的空格,但是反转后的字符不能包括。 示例 3: 输入: "a good example" 输出: "example good a" 解释: 如果两个单词间

weixin_43750513的博客 344

LeetCode面试算法-力扣 151. 翻转字符串里的单词

151. 翻转字符串里的单词 题目描述 给定一个字符串,逐个翻转字符串中的每个单词。 说明:无空格字符构成一个单词。输入字符串可以在前面或者后面包含多余的空格,但是反转后的字符不能包括。如果两个单词间有多余的空格,将反转后单词间的空格减少到只含一个。 示例 1: 输入: "the sky is blue" 输出: "blue is sky the"示例 2: 输入...

牧野飞鸿的博客 530

Leetcode 151.翻转字符串里的单词

Leetcode 151.翻转字符串里的单词 翻转字符串里的单词 给定一个字符串,逐个翻转字符串中的每个单词。 说明: 无空格字符构成一个 单词 。 输入字符串可以在前面或者后面包含多余的空格,但是反转后的字符不能包括。 如果两个单词间有多余的空格,将反转后单词间的空格减少到只含一个。 示例 1: 输入:“the sky is blue” 输出:“blue is sky the” 示例 2: 输入:" hello world! " 输出:“world! hello” 解释:输入字符串可以在前面或者

EIUC_Thread的博客 256

精选力扣500题 第48题 LeetCode 151. 翻转字符串里的单词【c++详细题解】

目录1、题目2、思路3、c++代码 1、题目 给你一个字符串 s,逐个翻转字符串中的所有 单词 。 单词 是由非空格字符组成的字符串。s 中使用至少一个空格将字符串中的 单词 分隔开。 请你返回一个翻转 s 中单词顺序并用单个空格相连的字符串。 说明: 输入字符串 s 可以在前面、后面或者单词间包含多余的空格。 翻转后单词间应当仅用一个空格分隔。 翻转后的字符串中不应包含额外的空格。 示例 1: 输入:s = "the sky is blue" 输出:"blue is sky the" 示例 2: 输

林深不见鹿 的博客 3801

LeetCode 151. 翻转字符串里的单词

题目链接:LeetCode 151. 翻转字符串里的单词 题意: 给定一个字符串,逐个翻转字符串中的每个单词。 输入: " hello world! " 输出:"world! hello" 解释: 输入字符串可以在前面或者后面包含多余的空格,但是反转后的字符不能包括。 如果两个单词间有多余的空格,将反转后单词间的空格减少到只含一个。 解题思路: 将字符串中分割成单词,放入数组中,然后反向拼接 class Solution { public: string r...

error311的博客 187

【LeetCode】151. 翻转字符串里的单词

文章目录题目:151. 翻转字符串里的单词解题思路代码 题目:151. 翻转字符串里的单词 151. 翻转字符串里的单词 给你一个字符串s,逐个翻转字符串中的所有 单词 。 单词 是由非空格字符组成的字符串。s中使用至少一个空格将字符串中的 单词 分隔开。 请你返回一个翻转s中单词顺序并用单个空格相连的字符串。 说明: 输入字符串s可以在前面、后面或者单词间包含多余的空格。 翻转后单词间应当仅用一个空格分隔。 翻转后的字符串中不应包含额外的空格。 示例 1: 输入:s = “the sky is bl

ZhShy 815

leetcode python翻转字符串里的单词

# Leetcode 151 翻转字符串里的单词### 题目描述给定一个字符串,逐个翻转字符串中的每个单词。 **示例1:** 输入: "the sky is blue" 输出: "blue is sky the" **示例2:** 输入: " hello world! " 输出: "world! hello" 解释: 输入字符串可以在前面或者后面包含多余的空格,但是反...

a4989386970的博客 269

LeetCode-151、翻转字符串里的单词-中等

LeetCode-151、翻转字符串里的单词-中等 给定一个字符串,逐个翻转字符串中的每个单词。 示例 1: 输入: "the sky is blue" 输出:"blue is sky the" 示例 2: 输入: " hello world! " 输出:"world! hello" 解释: 输入字符串可以在前面或者后面包含多余的空格,但是反转后的字符不能包括。 示例 3:...

clover_my的博客 134

leetcode  151. 翻转字符串里的单词 medium

leetcode 151. 翻转字符串里的单词medium 题目描述: 给定一个字符串,逐个翻转字符串中的每个单词。 示例 2: 输入: " hello world! " 输出:"world! hello" 解释: 输入字符串可以在前面或者后面包含多余的空格,但是反转后的字符不能包括。 说明: 无空格字符构成一个单词。 输入字符串可以在前面或者后面包含多余...

speargod的博客 204

LeetCode第 151 题:翻转字符串里的单词(C++)

151. 翻转字符串里的单词 - 力扣(LeetCode) 类似:剑指 Offer 58 - I. 翻转单词顺序_zj-优快云博客 class Solution { public: string reverseWords(string s) { string res; int i = 0; while(i < s.size()){ while(i < s.size() && s[i] == ' '

zj 631
上一篇: LeetCode 5.最长回文字串
「已注销」
博客等级 码龄6年 43粉丝 33原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值