Reverse Words in a String

2023-05-16

Given an input string, reverse the string word by word.

For example,
Given s = "the sky is blue",
return "blue is sky the".

开头、结尾、中间都可能有多个空格

class Solution {
public:
    void reverseWords(string &s) {
        
        string tmps;
        int tmpi = 0, endi = s.size(), first = 0;
        
        for( ; first < s.size(); ++first )
            if( s[ first ] != ' ' )
                break;
        
        for( int i = s.size()-1; i >= first; --i )
        {
            if( s[ i ] == ' ' )
            {
                if( s[ i+1 ] != '\0' && s[ i+1 ] != ' ' )
                {
                    for( int j = i+1; j < endi; ++j )
                        tmps.push_back( s[ j ] );
                    tmps.push_back( ' ' ); 
                }
                endi = i;
            }
            else if( i == first )
                for( int j = i; j < endi; ++j )
                    tmps.push_back( s[ j ] );
        }
        s = tmps;
    }
};

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Reverse Words in a String 的相关文章

  • 根据字符串列表查找第一个可用的序列号?

    给定一个字符串列表 例如 apple01 apple02 and apple04 banana02 cherry01 你会如何想出first可用序列号each类型 也就是说 apple03如果我问apple or banana01如果我问b
  • 使用格式模板解析字符串?

    如果我可以使用格式化字符串 string Format my 0 template 1 here 1 2 我可以反转该过程 我提供模板和填充的字符串 net 返回 arg0 arg1 等 没有优雅的方法来反转格式化的字符串 但如果你想要一个
  • 性能 - String.charAt(0) 与 /^.{1}/

    从概念上讲哪个应该更快 String charAt 0 or 1 regex String charAt 0 必须处理和应用正则表达式 速度测试资源 Paul S https stackoverflow com users 1615483
  • 更改 Java 字符串中的日期格式

    I ve a String代表一个日期 String date s 2011 01 18 00 00 00 0 我想将其转换为Date并将其输出到YYYY MM DD format 2011 01 18 我怎样才能实现这个目标 好的 根据我
  • 用 ruby​​ 中的数组内容替换字符串?

    String Test string Test array link1 link2 如何替换这样的字符串 输出应该是String link1 string link2 字符串 gsub 可以返回一个枚举器 所以这很简单 string gsu
  • 将由空格分隔的整数字符串更改为 int 列表[重复]

    这个问题在这里已经有答案了 我该如何做类似的东西 x 1 2 3 45 87 65 6 8 gt gt gt foo x 1 2 3 45 87 65 6 8 我完全陷入困境 如果我按索引执行此操作 那么超过 1 位数字的数字将被分解 请帮
  • 为什么 C#/.NET 字符串带有长度前缀并以 null 结尾?

    看完之后空终止字符串的基本原理是什么 https stackoverflow com questions 4418708 whats the rationale for null terminated strings和一些类似的问题 我发现
  • fgets 读取的最大大小

    Using fgets要输入字符串 我对读取的字符串长度有疑问 例如 考虑以下程序 char str 50 int i int len printf Enter name n fgets str 11 stdin len strlen st
  • 如何使用 Swift 4 将字符串拆分为英语和非英语?

    我有一个包含英语和阿拉伯语的字符串 我正在使用 API 这就是为什么我无法在其中设置指标的原因 我想要得到的是 阿拉伯语和英语分成两部分 这是一个示例字符串 Bismika rabbee wadaAAtu janbee wabika arf
  • 如何将整数日期转换为格式化日期字符串(即 2012009 到 2/01/2009)

    有任何想法吗 我想不出任何办法 我有一个从 csv 文件加载的日期列表 它们被保存为所有整数 或者更确切地说是一串整数 即 2009 年 1 月 1 日 1012009 关于如何将 1012009 变成 1 01 2009 有什么想法吗 T
  • 有谁知道一种更快的方法来执行 String.Split() 吗?

    我正在读取 CSV 文件的每一行 并且需要获取每一列中的各个值 所以现在我只是使用 values line Split delimiter where line是保存由分隔符分隔的值的字符串 衡量我的表现ReadNextRow我注意到它花费
  • 无法在“System.String”类型上的多个长度相等的构造函数之间进行选择

    尝试解析类型时出现以下错误 无法在 System String 类型上的多个长度相等的构造函数之间进行选择 注册组件时 使用UsingConstructor 配置方法显式选择构造函数 该类型有 1 个构造函数 该构造函数采用IReposit
  • Python:字符串不会转换为浮点数[重复]

    这个问题在这里已经有答案了 我几个小时前写了这个程序 while True print What would you like me to double line raw input gt if line done break else f
  • C# 中最小化字符串长度

    我想减少字符串的长度 喜欢 这串 string foo Lorem ipsum dolor sit amet consectetur adipiscing elit Aenean in vehicula nulla Phasellus li
  • Mockito:匹配除一个之外的任何字符串[重复]

    这个问题在这里已经有答案了 如何使用 Mockito 编写匹配器来匹配除特定字符串之外的任何字符串 我尝试使用一些 hamcrest 匹配器来否定和组合其他匹配器 但是 hamcrest 匹配器都返回类型的值Matcher
  • 如何找到给定字符串的最长重复子串

    我是java新手 我被分配寻找字符串的最长子字符串 我在网上研究 似乎解决这个问题的好方法是实现后缀树 请告诉我如何做到这一点或者您是否有任何其他解决方案 请记住 这应该是在 Java 知识水平较低的情况下完成的 提前致谢 附 测试仪字符串
  • 将一串数据标记为结构向量?

    因此 我有以下数据字符串 该数据是通过 TCP winsock 连接接收的 并且想要进行高级标记化 将其转换为结构向量 其中每个结构代表一条记录 std string buf 44 william adama commander stuff
  • 字符串数组文本格式化

    我有这个字符串 String text Address 1 Street nr 45 Address 2 Street nr 67 Address 3 Street nr 56 n Phone number 000000000 稍后将被使用
  • 仅将 char[] 的一部分复制到 String 中

    我有一个数组 char ch 我的问题如下 如何将 ch 2 到 ch 7 的值合并到字符串中 我想在不循环 char 数组的情况下实现这一点 有什么建议么 感谢您花时间回答我的问题 Use new String value offset
  • 在 String.Format 中插入格式化字符?

    我用谷歌搜索了这个 但 VB Net 2008 似乎不允许在 String Format 中插入格式化字符 例如 t r n BAD MessageBox Show String Format 0 tab 1 Foo Bar BAD Mes

随机推荐

  • CELF优化的贪心算法

    用一个例子说明如下 xff1a 问题描述如下 xff1a 从一组节点中 xff0c 取出一组k个种子节点S xff0c 使得产生的增益最大 对任意的a属于A xff0c f a xff1a a加入之后的增益 有如下一个表 xff1a 初始扫
  • Linux磁盘分区基本分区

    目录 前言 一 磁盘简介 1 名词 2 类型 1 xff09 机械硬盘 2 xff09 固态硬盘 3 尺寸 4 接口 IDE和SATA的区别 5 术语 6 命名 7 分区方式 1 xff09 MBR 2 xff09 GPT 二 管理磁盘 1
  • 使用shell并发执行系统命令

    一 解决方案 旧方案为挨个执行shell exec xff0c 串行执行 xff0c 虽然执行很快 xff0c 奈何监听命令众多 xff0c redis连接有等待时间等 xff0c 有的还需要执行多次取平均值 xff0c 所以执行完已超过1
  • 基于C语言实现(WinForm)FIFA球队管理系统【100010337】

    1 引言 1 1 编写目的 在如今市场上 xff0c 各种评估分析类的软件层出不穷 作为当今世界上最受欢迎的球类之一 足球 xff0c 也以之为题材产生了世人所知的足球管理类游戏 xff0c FIFA足球经理 但是 xff0c 由于其占用内
  • Ubuntu18.04下CUDA10.x和TensorFlow1.x环境搭建(2019.7重编版)

    目录 前言开发环境一览 显卡驱动安装 下载驱动 禁用nouveau 安装驱动 安装CUDA 10 x第一个CUDA程序 安装cudnn7 x安装TensorFlow1 x最后 Mac和Ubuntu下修改pip源和TensorFlow CPU
  • 数通运营商方向常见面试问题(第五部分)

    VXLAN以主要应用在哪里 和传统的二层网络相比 xff0c 有什么优势7 数据中心 首先描述传统二层VPN的缺点 xff1a 传统二层要用STP 收敛慢 链路利用率低不合适 传统VPLS为解决环路会采用STP技术 xff0c CE到PE采
  • Xshell 6 首次连接虚拟机 CentOS 6.8报错:/usr/bin/xauth: file /root/.Xauthority does not exist

    首次连接虚拟机时会提示 usr bin xauth file root Xauthority does not exist xff0c xff0c 这个没关系 xff0c 系统在连接之后会自动创建 xff0c 再次连接时就好了 如下图 xf
  • 一个不喜欢读书的Javaer的读书单

    很可惜 xff0c 从我一开始学技术开始 xff0c 我就不喜欢看书 xff0c 严重的时候翻不到两页就会开始狂打瞌睡 很幸运 xff0c 有互联网能够为我提供很多知识 xff0c 甚至一些知识从网上看来的会更加权威一些 但是 xff0c
  • 【分享】Ubuntu桌面版图形界面下换源

    写在前面 xff1a 由于操作极其简单 xff0c 所以一开始还犹豫要不要单独写篇文章 xff0c 但是后来上网查了以下 xff0c 发现主流都是修改sources list文件的方法 xff08 这种方法的教程见下面的连接 xff0c 这
  • java 之产生死锁的必要条件

    1 死锁 怎么去打破 1 死锁发生的原因 是多个进程并发请求 争夺系统资源而产生的相互等待情况 2 本质问题 xff1a 1 系统资源有限 2 进程推进顺序不合理 3 死锁产生的4个必要条件 xff1a 3 1 进程互斥 资源分配给进程之后
  • MAC 安装tree : fatal error: 'stdlib.h' file not found

    MAC 安装tree fatal error 39 stdlib h 39 file not found 未安装 Command Line Tools命令行工具 xff0c 安装步骤如下 xff1a 在终端中输入 xcode select
  • blog记录

    blog记录 blog整理linux内核redis云 43 负载均衡算法git blog整理 linux内核 https blog csdn net gatieme article category 9265324 Linux内核剖析 xf
  • Git撤销&回滚操作(git reset 和 get revert)

    git 工作流 xff1a 工作区 xff1a 即自己当前分支所修改的代码 xff0c git add xx 之前的 xff01 不包括 git add xx 和 git commit xxx 之后的 暂存区 xff1a 已经 git ad
  • 51单片机——计数器与定时器的区别

    定时器和计数器是同一器件 计数器 其共同的特点是都有一个计数脉冲输入端 每输入一个脉冲 计数器就进行加1或减1计数 若计数器件的计数脉冲的频率固定 则可利用计数实现定时 这就是定时器 若计数器件的作用仅仅是记录输入脉冲的多少 则称为计数器
  • git学习笔记

    本地仓 lt gt 暂存区 lt gt 版本库 撤销 xff1a 已修改的文件test c xff0c 撤销 git checkout test c 必须要 xff0c 不然就会切换分支已修改的文件并使用 git add 添加到暂存区 gi
  • github提交代码-简介

    使用步骤 在 github 上 fork 一个项目到自己的仓库 需要先fork xff0c 因为原始项目没有权限git clone https github com name repos git 从自己的仓下 clone代码到本地修改本地代
  • linux时间相关结构体和函数整理

    一 时间类型 Linux下常用的时间类型有4个 xff1a time t xff0c struct timeb struct timeval xff0c struct timespec xff0c clock t struct tm 1 t
  • xargs 命令

    xargs xargs 命令 用途 构造参数列表并运行命令 大多数 Linux 命令都会产生输出 xff1a 文件列表 字符串列表等 但如果要使用其他某个命令并将前一个命令的输出作为参数该怎么办 xff1f 例如 xff0c file 命令
  • fedora20安装putty No package ‘gtk+-2.0′ found

    这里转载一下 我在编译安装emacs23的时候提示No package gtk 43 2 0 found centos的开发环境 网上搜了一下 xff0c 发现安装gtk 43 2 0不是一件容易的事 xff0c 后来无意发现一个帖子挺不错
  • Reverse Words in a String

    Given an input string reverse the string word by word For example Given s 61 34 the sky is blue 34 return 34 blue is sky