翻转单词顺序列

151. 反转字符串中的单词(力扣LeetCode) 想一下,我们将整个字符串都反转过来,那么单词的顺序指定是倒序了,只不过单词本身也倒序了,那么再把单词反转一下,单词不就正过来了。移除前导空格和多余空格:快指针 fast 用于跳过前导空格和连续的空格,而慢指针 slow 用于构建没有多余空格的新字符串。这个函数实现了题目要求的功能,使用了原地操作(没有使用额外的存储空间),然后完成单词的反转,并且在单词之间只保留一个空格。版本一的代码是一般的思考过程,就是 先移除字符串前的空格,再移除中间的,再移除后面部分。单词 是由非空格字符组成的字符串。 阅读详情

题目描述

牛客最近来了一个新员工Fish,每天早晨总是会拿着一本英文杂志,写些句子在本子上。同事Cat对Fish写的内容颇感兴趣,有一天他向Fish借来翻看,但却读不懂它的意思。例如,“student. a am I”。后来才意识到,这家伙原来把句子单词的顺序翻转了,正确的句子应该是“I am a student.”。Cat对一一的翻转这些单词顺序可不在行,你能帮助他么?

class Solution {
public:
void changePos(string& str, int begin, int end)
{
	while(begin<end)
	{
		char temp = str[begin];
		str[begin] = str[end];
		str[end] = temp;
		begin++;
		end--;
	}
}

string ReverseSentence(string str) {
	int begin = 0,end = 0;
	bool flag = false;
	for(int i=0;i<str.size();i++)
	{
		if(str[i]!=' ')
		{
			if(!flag)
			{
				flag = true;
				begin = i;
			}
		}
		else
		{
			if(flag)
			{
				changePos(str,begin,i-1);
				flag = false;
			}
		}
	}
    
	if(true)
		changePos(str,begin,str.size()-1);
	changePos(str,0,str.size()-1);
	return str;
}
};

 

LeetCode.151 反转字符串中的单词 为了锻炼我们处理字符串的能力,我们可以不使用 Java 提供的各种 API,而是自定义函数完成对字符串的处理。这里我们可以拆分成三个函数,一个去除两端的空格和单词间空格的函数,一个反转指定区间字符串的函数,一个反转每个单词的函数。我们解决翻转单词的思路是 :==去除空格=>==翻转整个字符串=>==翻转每个单词=>有了具体思路,我们就可以直接进行操作了。首先我们要去除字符串中多余的空格,由于 Java 的字符串不可变性这里我们必须创建 StringBuffer 进行操作//创建StringBuffer。 阅读详情

相关推荐

自动驾驶入门到进阶完整指南:感知、预测、规划、端到端、仿真测评与场景挖掘全解析

对小白来说,不建议一开始直接冲端到端大模型。先学数据和坐标系:否则所有结果都看不懂。再学 LiDAR 3D 检测:最容易建立空间感。再学 BEV/多相机感知:这是当前主流。再学轨迹预测:理解交互和多模态。再学规划控制:理解车为什么这样开。再学仿真和闭环评测:理解 open-loop 和 closed-loop 差异。最后学端到端/VLM/VLA:这时候你才知道它到底替代了哪些模块。贯穿始终学习场景挖掘和安全测评:这是工业界最核心的能力之一。

u013250861的博客 398

(字符串 ) 151. 反转字符串中的单词 ——【Leetcode每日一题】

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

weixin_43412762的博客 1304

LayaBox CommandBuffer描边使用详细

项目需要使用LayaBox做一个给3D物体动态描边的一个功能,前前后后踩了一些坑算是把这个东西给做出来了把我改好的代码贴上,分享给大家。 (1)想要使用描边你的引擎版本必须 >=2.9.0 (2)你必须下载 Laya官方的BlurShader库才能使用这个功能,下载地址:https://github.com/layabox/layaair-demo/tree/master/h5/3d/ts/LayaAir3D_PostProcess/BlurShader 下载完之后把BlurShader放到自己项目的

小智队长 1736

Leetcode——翻转单词顺序1,2,3( 翻转字符串里的单词)

1. 题目 2. 题解 (1)双指针 倒序遍历字符串 s ,记录单词左右索引边界 left , right ; 每确定一个单词的边界,则将其添加至单词列表 res ; 最终,将单词列表拼接为字符串,并返回即可。 class Solution { public String reverseWords(String s) { s = s.trim(); // 删除首尾空格 int right = s.

Yawn 438

2023年第二十届五一数学建模竞赛C题:“双碳”目标下低碳建筑研究-思路详解与代码答案

2023年第二十届五一数学建模竞赛C题:“双碳”目标下低碳建筑研究-思路详解与代码答案

lichensun的博客 1万+

HAMi 核心模块与架构设计

HAMi 的架构设计是围绕 Kubernetes 生态系统构建的,通过扩展 Kubernetes 的调度能力和设备管理能力,为用户提供了高效、灵活的异构设备虚拟化和管理解决方案。

北斗云的博客 2552

力扣LeetCode经典算法 翻转单词顺序

输入一个英文句子,翻转句子中单词的顺序,但单词内字符的顺序不变。为简单起见,标点符号和普通字母一样处理。例如输入字符串"I am a student. ",则输出"student. a am I"。

胡乱写点什么 732

FPGA时钟设计避坑指南:搞懂MMCM的VCO频率计算,别再猜输入输出关系了

本文深入解析Xilinx FPGA中MMCM的VCO频率计算原理,帮助工程师避免常见的时钟设计误区。通过详细的公式推导和实际案例,指导如何正确配置MMCM参数以满足VCO频率范围要求,提升FPGA时钟设计的稳定性和可靠性。

weixin_30954265的博客 403

牛客网刷题java之翻转单词顺序列

题目: 翻转单词顺序列,牛客最近来了一个新员工Fish,每天早晨总是会拿着一本英文杂志,写些句子在本子上。同事Cat对Fish写的内容颇感兴趣,有一天他向Fish借来翻看,但却读不懂它的意思。例如,“student. a am I”。后来才意识到,这家伙原来把句子单词的顺序翻转了,正确的句子应该是“I am a student.”。Cat对一一的翻转这些单词顺序可不在行,你能帮助他么? 第一种...

逆水行舟,不进则退 534

YOLOv8车辆碰撞识别检测系统(项目源码+YOLO数据集+模型权重+UI界面+python+深度学习+环境配置+目标检测)

随着我国汽车保有量的持续攀升,道路交通事故数量居高不下,车辆碰撞损伤的快速、精准评估已成为交通安全管理、保险理赔定损以及汽车后市场服务中的关键环节。传统的人工目视查验方法高度依赖评估人员的专业经验,不仅主观性强、效率低下,而且在复杂光照、多角度遮挡等真实场景下难以保证评估的一致性和可复现性。计算机视觉与深度学习技术的迅猛发展,为目标检测任务提供了强有力的技术支撑,使得基于视觉的车辆损伤自动化识别成为可能。

斌擎科技 132

【芯片设计- RTL 数字逻辑设计入门 番外篇6 -- 术语 Tile 介绍】

在系统级芯片(System on Chip, SoC)设计中,“tile” 是一个可以指代不同概念的术语,但通常它指的是芯片上的一个独立的功能单元或核心。一个 tile 可以包含一个或多个处理器核心、缓存、内存控制器、输入输出设备、外设接口或其他功能模块。在 SoC 上,多个 tile 可以被组合和连接起来,以形成一个完整的系统。

CodingCos的博客 3082

剑指offer-翻转单词顺序列

38.翻转单词顺序列 题目内容: 代码及思路: 1.先翻转句子;2.再翻转每个单词 #include<iostream> #include<string> using namespace std; class Solution { public: void Reverse_core(string& str, int begin, int end)...

larklili的博客 184

某Z节验证码

某Z节验证码、captchaBody、滑块、旋转、空间推理

mamenqi_csdn的博客 773

java翻转单词顺序split_java实现翻转单词顺序列

本文实例为大家分享了java实现翻转单词顺序列的具体代码,供大家参考,具体内容如下最近来了一个新员工Fish,每天早晨总是会拿着一本英文杂志,写些句子在本子上。同事Cat对Fish写的内容颇感兴趣,有一天他向Fish借来翻看,但却读不懂它的意思。例如,“student. a am I”。后来才意识到,这家伙原来把句子单词的顺序翻转了,正确的句子应该是“I am a student.”。Cat对一一...

weixin_42602726的博客 391

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

左旋转字符串&&翻转单词顺序列

左旋转字符串 汇编语言中有一种移位指令叫做循环左移(ROL),现在有个简单的任务,就是用字符串模拟这个指令的运算结果。对于一个给定的字符序列S,请你把其循环左移K位后的序列输出。例如,字符序列S=”abcXYZdef”,要求输出循环左移3位后的结果,即“XYZdefabc”。是不是很简单?OK,搞定它! 解题思路 1.借助ArrayList添加字符数组 2.借助StringBuffer 代码 im...

weixin_41676282的博客 291

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

剑指Offer面试题:翻转单词顺序列

翻转单词顺序列 算法:首先将整个句子翻转一遍,然后对每个单词进行翻转 需要考虑两种边界情况 输入字符串是空字符串 输入的字符串只有一个单词,不需要进行翻转(这种情况更难处理):使用一个专门检查字符串是否为单个单词的函数即可 残留问题:本地能够通过对于输入字符串为”“和” “的输出,OJ上会出现对输入” “的异常java.lang.StringIndexOutOfBoundsExceptio...

mi4o 324

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

上一篇: 合并两个排序的链表
下一篇: 链表中环的入口结点
云水谣CS
博客等级 码龄9年 8粉丝 268原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值