53. 翻转字符串

2023-11-20

思路

首先翻转字符串整体,然后对于每个单词进行翻转,两次翻转的函数使用同一个函数。翻转函数的思路:

  • 使用队列
  • 将String转成char[],然后反过来存储(下面就是使用的这种方法)
  • 用两个指针,进行前后字符的对换
  • StringBuilder类中有翻转函数reverse()

代码

    public static String reverseWords(String s) {
        if (s.length() <= 1) {
            return s;
        }
        String aa = reverseStr(s);
        List<String> data = getWords(aa); 
        String tmp = "";
        for (int i = 0; i < data.size(); i++) {
            tmp += " " + reverseStr(data.get(i));
        }
        return tmp.substring(1);
    }

    public static List<String> getWords(String s) {

        List<String> list = new ArrayList<String>();
        char[] temp = s.toCharArray();
        int begin;
        int end;
        for (int i = 0; i < temp.length; i++) {
            while (i < temp.length && temp[i] == ' ') {
                i++;
            }
            begin = i;

            while (i < temp.length && temp[i] != ' ') {
                i++;
            }
            end = i;

            list.add(s.substring(begin, end));

        }
        return list;
    }

    public static String reverseStr(String s) {
        char[] ch = s.toCharArray();
        String temp = "";
        for (int i = ch.length - 1; i >= 0; i--) {
            temp += ch[i];
        }

        return temp;
    }

参考

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

53. 翻转字符串 的相关文章

  • layui改变字体颜色或者背景颜色

    改变文字颜色 done function res curr count if res data length gt 0 each res data function ii dd if NOTNULL dd islatetime if par
  • 数据库开发题目-什么是视图?以及视图的使用场景有哪些?

    1 视图是一种虚表 2 视图建立在已有表的基础上 视图赖以建立的这些表称为基表 3 向视图提供数据内容的语句为 SELECT 语句 可以将视图理解为 存储起来的 SELECT 语句 4 视图向用户提供基表数据的另一种表现形式 5 视图没有存
  • 数据结构-期末复习重要知识点总结

    目录 第一章 绪论 第二章 线性表 3 顺序表表示 4 顺序表基本运算 5 链表 6 链表的基本运算 7 循环链表 8 双链表 9 静态链表 10 一元多项式表示及相加 第三章 限定性线性表 栈与队列 1 顺序栈 2 链栈 3 链队列 4
  • 三、Pytorch中tensor的内部结构

    tensor的数据结构 tensor分为头信息区 Tensor 和存储区 Storage 信息区主要保存着tensor的形状 size 步长 stride 数据类型 type 等信息 而真正的数据则保存成连续数组 由于数据动辄成千上万 因此
  • Android机顶盒网络地址端口连通性测试

    Android机顶盒网络地址端口连通性测试 文章目录 Android机顶盒网络地址端口连通性测试 1 直接telnet 2 busybox telnet 3 测试工具 一般我们使用如下三种方式进行测试 前一种不满足则执行下一种 1 外网可以
  • [POI2007]砝码Odw

    看这数据范围就不太可DP的样子 考虑贪心 首先注意到题目里有对于任意两个砝码其中一个是另一个质量整数倍的条件 所以砝码质量的种类不超过log INF 考虑按质量从小到大把砝码往容器里放 这样的话所有的砝码和容器的质量都可以除以当前砝码质量然
  • [动态系统的建模与分析]8_频率响应_详细数学推导 G(jw)_滤波器

    运放滤波器 3 反相同相比例放大电路 Multisim电路仿真 运放滤波器 2 运放反馈原理 运放滤波器 1 理想运放 虚短虚断 现代控制理论 11 现代控制理论串讲 完结 pdf获取 信号与系统在工程中 里面的一些工具应该是奠基石 电路
  • 杂七杂八的小知识

    杂七杂八的小知识 前端知识 Node js安装注意事项 Vue学习文档 Mysql数据库小知识 安装数据库后使用数据库所需步骤 MySQL远程连接 常用数据库命令 mysql数据库导入查询 StarUML使用教程 docker小知识 cma
  • 2023备战金三银四,自动化软件测试面试宝典合集(一)

    马上就又到了程序员们躁动不安 蠢蠢欲动的季节 这不 金三银四已然到了家门口 新年一过后台就有不少人问我 现在外边大厂面试都问啥 想去大厂又怕面试挂 面试应该怎么准备 测试开发前景如何 面试 一个程序员成长之路永恒绕不过的话题 每每到这个时期
  • Flutter FutureBuilder 示例

    通过示例 可以重点对FutureBuilder的各个属性的了解
  • 使用MobaXterm发布前端代码到服务器

    1 准备 先获得服务器的必须信息 如下表 序号 参数名 参数值 描述 1 服务器IP 81 71 87 37 2 登录用户名 root 3 用户私钥 如下 可保存为一个文件如pri key 一定确保格式与下面代码一样 不能有多余的空格 换行
  • 位运算——异或运算

    目录 按位异或运算 异或运算的应用 镜子田地 镜子 按位异或运算 按位异或运算将两个运算分量的对应位按位遵照以下规则进行计算 0 0 0 0 1 1 1 0 1 1 1 0 即相应位的值相同的 结果为 0 不相同的结果为 1 例如 2 6结

随机推荐

  • 万众瞩目--腾讯云数据库TDSQL第一届征文正式大赛开启

    首届腾讯云数据库TDSQL征文大赛开启啦 只要您对腾讯云数据库TDSQL有兴趣 有研究 有想法 皆可参加 腾讯云数据库诚挚邀请您参与活动 分享和TDSQL邂逅的若干趣事 领取精美礼品 腾讯云数据库TDSQL是腾讯自研的企业级分布式数据库 在
  • PTP简介

    PTP简介 在通信网络中 许多业务的正常运行都要求网络时钟同步 即整个网络各设备之间的时间或频率差保持在合理的误差水平内 网络时钟同步包括以下两个概念 l 时间同步 也叫相位同步 Phase synchronization 是指信号之间的频
  • 【openvpn简介】

    openvpn简介 简单原理 脚本实现一键安装 增加 注销 第六周作业 简单原理 VPN Virual Private Network 虚拟私有网络 或称为虚拟专用网络 常用于在公用网络上建立专用网络 进行加密通讯 VPN网关通过对数据包的
  • Linux 字体安装

    java系统生成PDF 二维码增加标题等场景都会使用到Font 但是linux服务器上又没有这些字体 这个时候就需要自己安装字体到服务器 以下是安装步骤 1 安装插件 yum install y fontconfig mkfontscale
  • java 使用rabbitmq_java操作RabbitMQ整个过程介绍

    一 环境安装 1 安装java工具 IntelliJ IDEA 2019 3 x64 2 安装erl10 7 并配置好path等环境变量 同时验证是否安装成功 见图1 图2 图1 图2 3 安装RabbitMQ3 8 3 图3 cmd进入上
  • 后台-husky提交代码规范使用

    husky是一个git hook工具 可以帮助我们触发git提交的各个阶段 pre commit commit msg pre push 1 如何使用husky呢 npx husky init npm install Windows安装不成
  • 一个基于SpringBoot2+Vue+Redis的企业级聚合支付系统可二次开发接私活

    点击关注 Java开发宝典 2022 01 20 08 50 收录于话题 项目分享28个 项目介绍 Jeepay是一套适合互联网企业使用的开源支付系统 支持多渠道服务商和普通商户模式 已对接微信支付 支付宝 云闪付官方接口 支持聚合码支付
  • 微信小程序读取服务器数据,微信小程序前端获取后端数据

    webMessage 测试 index js Page getMessage function var self this wx request url http localhost 8080 demo 仅为示例 需填写自己服务器的地址 d
  • word2vec深入理解及实践

    以前对于word2vec的理解就是通过训练能得到词向量 对应有两种方法 skip gram和CBOW 两者差别其实不大 但关于具体的细节也不是很了解 今天来深入理解并记录一下 理论方面 word2vec是一种基于神经网络的语言模型 是goo
  • 网络协议之ARP协议解析

    ARP协议简介 ARP Address Resolution Protocol 是个地址解析协议 最直白的说法是 在IP以太网中 当一个上层协议要发包时 有了该节点的IP地址 ARP就能提供该节点的MAC地址 OSI 模式把网络工作分为七层
  • Spring项目如何部署项目到Linux

    部署前先将项目所需的数据库添加到linux的mysql中 部署jar包到linux 修改项目pom文件 将打包方式改为jar 在pom中添加springboot插件
  • 春考计算机服务器配置,考试系统的服务器配置有什么要求?

    处理器 CPU类型 Intel 至强E5 2600 CPU型号 Xeon E5 2650 CPU频率 2GHz 智能加速主频 2 8GHz 标配CPU数量 1颗 最大CPU数量 2颗 制程工艺 32nm 三级缓存 20MB 总线规格 QPI
  • Matlab运行程序_暂停方法

    pause函数 官方文档 其调用格式为 pause 延迟数秒 必须启用暂停 此调用才能生效 暂停执行matlab 并等用户按下任意键 pause on 启用暂停设置 若想省略延迟时间 则直接使用pause函数 则将程序暂停 直到用户按任意键
  • 如何在 CentOS 中下载包含所有依赖项的 RPM 包

    翻译于ostechnix com 上 Senthil Kumar的 How To Download A RPM Package With All Dependencies In CentOS 我们可以使用curl或wget命令下载任何包 对
  • 火焰识别python_基于Python的火焰识别程序

    本期介绍一下笔者在试验数据处理时写的一个用于火焰识别的小程序 该小程序的功能是对拍摄到的火焰图像进行提取 增强 降噪和识别 并输出相应处理过的火焰图像以及火焰参数 如传播距离 面积等 该程序基于Python 3语言 用到了前面提到的图像和数
  • EditText设置监听

    在开发中有的需要对编辑框进行监听如果编辑框中没有值 登录按钮就是无法点击并且颜色为灰色 当编辑框中的值满足添加的时候 按钮可以点击同时颜色发生改变 由于自己是个菜鸟 代码中也有注释 也比较简单 有什么bug希望各位大神也能指点一二 acti
  • SSRS使用MySql作为数据源遇到的问题。

    因为工作需求 SSRS需要取到MySql数据源 还好有了ODBC 谷歌了很多 都是不完整的Solution 放上完整版的供大家评价参考 下面是StepByStep 问题1 使用ODBC数据源 填入正确的MySql连接字符串 却显示 ERRO
  • Python File seek() 方法和File read()方法

    read 方法用于从文件读取指定的字节数 如果未给定或为负则读取所有 语法 read 方法语法如下 fileObject read size 参数 size 从文件中读取的字节数 默认为 1 表示读取整个文件 返回值 返回从字符串中读取的字
  • 最小花费爬楼梯(C语言)

    本周第二题 数组的每个索引做为一个阶梯 第 i个阶梯对应着一个非负数的体力花费值 索引从0开始 每当你爬上一个阶梯你都要花费对应的体力花费值 然后你可以选择继续爬一个阶梯或者爬两个阶梯 您需要找到达到楼层顶部的最低花费 在开始时 你可以选择
  • 53. 翻转字符串

    思路 首先翻转字符串整体 然后对于每个单词进行翻转 两次翻转的函数使用同一个函数 翻转函数的思路 使用队列 将String转成char 然后反过来存储 下面就是使用的这种方法 用两个指针 进行前后字符的对换 StringBuilder类中有