《LeetCode力扣练习》代码随想录——双指针法(翻转字符串里的单词---Java)

2023-12-19

《LeetCode力扣练习》代码随想录——双指针法(翻转字符串里的单词—Java)



刷题思路来源于 代码随想录

151. 反转字符串中的单词
  • 双指针
    class Solution {
        public String reverseWords(String s) {
    
            char[] chs=removeSpace(s.toCharArray());
            reverse(chs,0,chs.length-1);
    
            int left=0;
            for(int right=0;right<chs.length;right++){
    
                if(chs[right]==' '){
                    reverse(chs,left,right-1);
                    left=right+1;
                }
    
            }
    
            reverse(chs,left,chs.length-1);
            return new String(chs);
    
        }
    
        private char[] removeSpace(char[] chs){
    
            int slow=0;
    
            for(int fast=0;fast<chs.length;fast++){
    
                if(chs[fast]!=' '){
    
                    if(slow!=0){
                        chs[slow++]=' ';
                    }
    
                    while(fast<chs.length&&chs[fast]!=' '){
                        chs[slow++]=chs[fast++];
                    }
    
                }
    
            }
    
            return Arrays.copyOfRange(chs,0,slow);
    
        }
    
        private void reverse(char[] chs,int left,int right){
    
            while(left<right){
    
                chs[left]^=chs[right];
                chs[right]^=chs[left];
                chs[left]^=chs[right];
    
                left++;
                right--;
    
            }
    
        }
    }
    

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

《LeetCode力扣练习》代码随想录——双指针法(翻转字符串里的单词---Java) 的相关文章

  • 在java中轮询Http服务器(重复发送http get请求)

    当对其进行 REST 调用时 我的 Web 服务器会发送一些信息 我想不断轮询该服务器 间隔5秒后重复发送HTTP GET请求 以检查返回的信息是否有任何变化 做到这一点最有效的方法是什么 您能提供一些代码示例吗 请注意 我只想开发客户端代
  • java中监视目录变化

    我正在使用 WatchService 来监视目录中的更改 特别是目录中新文件的创建 下面是我的代码 package watcher import java nio file import static java nio file Stand
  • eclipse行号状态行贡献项是如何实现的?

    我需要更新状态行编辑器特定的信息 我已经有了自己的实现 但我想看看 eclipse 贡献项是如何实现的 它显示状态行中的行号 列位置 谁能指点一下 哪里可以找到源代码 提前致谢 亚历克斯 G 我一直在研究它 它非常复杂 我不确定我是否了解完
  • 什么是抽象类? [复制]

    这个问题在这里已经有答案了 当我了解抽象类时 我说 WT H 问题 创建一个无法实例化的类有什么意义呢 为什么有人想要这样的课程 什么情况下需要抽象类 如果你明白我的意思 最常见的是用作基类或接口 某些语言有单独的interface构建 有
  • 如何调试“com.android.okhttp”

    在android kitkat中 URLConnection的实现已经被OkHttp取代 如何调试呢 OkHttp 位于此目录中 external okhttp android main java com squareup okhttp 当
  • Android中如何使用JNI获取设备ID?

    我想从 c 获取 IMEIJNI 我使用下面的代码 但是遇到了未能获取的错误cls 它总是返回NULL 我检查了环境和上下文 它们都没有问题 为什么我不能得到Context班级 我在网上搜索了一下 有人说我们应该使用java lang Ob
  • 将巨大的模式编译成Java

    有两个主要工具提供了将 XSD 模式编译为 Java 的方法 xmlbeans 和 JAXB 问题是 XSD 模式确实很大 30MB 的 XML 文件 大部分模式在我的项目中没有使用 所以我可以注释掉大部分代码 但这不是一个好的解决方案 目
  • Runtime.exec 处理包含多个空格的参数

    我怎样才能进行以下运行 public class ExecTest public static void main String args try Notice the multiple spaces in the argument Str
  • 在 Java 中如何找出哪个对象打开了文件?

    我需要找出答案哪个对象在我的 Java 应用程序中打开了一个文件 这是为了调试 因此欢迎使用工具或实用程序 如果发现哪个对象太具体了 这class也会很有帮助 这可能很棘手 您可以从使用分析器开始 例如VisualVM http visua
  • 将非 Android 项目添加到 Android 项目

    我在 Eclipse 中有三个项目 Base Server 和 AndroidClient Base和Server是Java 1 7项目 而AndroidClient显然是一个android项目 基础项目具有在服务器和 Android 客户
  • Sun 在 EDT 之外做 GUI 工作的演示?

    我正在看SplashDemo java http download oracle com javase tutorial uiswing examples misc SplashDemoProject src misc SplashDemo
  • 如何使用 JMagick 转换色彩空间?

    如何使用 JMagick API 转换色彩空间 例如 CMYK gt RGB 和 RGB gt CMYK None
  • 如何在JPanel中设置背景图片

    你好 我使用 JPanel 作为我的框架的容器 然后我真的想在我的面板中使用背景图片 我真的需要帮助 这是我到目前为止的代码 这是更新 请检查这里是我的代码 import java awt import javax swing import
  • JDBC 时间戳和日期 GMT 问题

    我有一个 JDBC 日期列 如果我使用 getDate 则会得到 date 仅部分2009 年 10 月 2 日但如果我使用 getTimestamp 我会得到完整的 date 2009 年 10 月 2 日 13 56 78 890 这正
  • 将 JScrollPane 添加到 JFrame

    我有一个关于向 Java 框架添加组件的问题 我有一个带有两个按钮的 JPanel 和一个添加了 JTable 的 JScrollPane 我想将这两个添加到 JFrame 中 我可以将 JPanel 添加到 JFrame 或将 JScro
  • 手动设置Android Studio的JDK路径

    如何为 Android Studio 使用自定义 JDK 路径 我不想弄乱 PATH 因为我没有管理员权限 是否有某个配置设置文件允许我进行设置 如果您查看项目设置 您可以从那里访问 jdk 在标准 Windows 键盘映射上 您可以在项目
  • Log4j2 ThreadContext 映射不适用于parallelStream()

    我有以下示例代码 public class Test static System setProperty isThreadContextMapInheritable true private static final Logger LOGG
  • Android View Canvas onDraw 未执行

    我目前正在开发一个自定义视图 它在画布上绘制一些图块 这些图块是从多个文件加载的 并将在需要时加载 它们将由 AsyncTask 加载 如果它们已经加载 它们只会被绘制在画布上 这工作正常 如果加载了这些图片 AsyncTask 就会触发v
  • MiniDFSCluster UnsatisfiedLinkError org.apache.hadoop.io.nativeio.NativeIO$Windows.access0

    做时 new MiniDFSCluster Builder config build 我得到这个异常 java lang UnsatisfiedLinkError org apache hadoop io nativeio NativeIO
  • 由 Servlet 容器提供服务的 WebSocket

    上周我研究了 WebSockets 并对如何使用 Java Servlet API 实现服务器端进行了一些思考 我没有花费太多时间 但在使用 Tomcat 进行一些测试时遇到了以下问题 如果不修补容器或至少对 HttpServletResp

随机推荐

  • Vue2 即将结束支持!!!

    Vue2 Vue 2 0 发布于 2016 年 已经有超过 7 年的历史 它是 Vue 框架成为主流的重要里程碑 许多当前的 Vue 用户都是在 Vue 2 时期就开始使用 Vue 的 并且有许多出色的项目是基于 Vue 2 构建的 Vue
  • 详解Python字典、集合和深浅拷贝

    什么是字典 字典 Python内置的数据结构之一 与列表一样是一个可变序列 以键值对的方式存储数据 字典是一个无序的序列 字典的实现原理与查字典类似 查字典是先根据部首或拼音查找汉字对应的页码 Python中的字典是根据key查找value
  • 利用文件夹选项解决实际问题的系统小技巧

    利用文件夹选项解决实际问题的系统小技巧 在Windows操作系统中 文件夹选项是一个非常实用的功能 可以帮助我们解决许多实际问题 下面 我们将介绍一些利用文件夹选项解决实际问题的系统小技巧 1 隐藏文件夹 有时候 我们可能需要隐藏一些文件夹
  • 音频flac免费转换软件怎么使用?快来看看这个实用指南

    你是否遇到过需要将多个音频文件的格式转换为另一种格式的情况 那你可能需要一款音频格式转换软件来帮你完成这个任务 音频转换器是一种非常实用的工具 它们能够为我们提供高效且优质的音频格式转换体验 屏幕前的你 如果还在深受音频批量转换flac问题
  • 用python画一个爱心的代码,用python画爱心代码

    这篇文章主要介绍了用python画一个心形怎么编程 具有一定借鉴价值 需要的朋友可以参考下 希望大家阅读完这篇文章后大有收获 下面让小编带着大家一起了解一下 如何使用python中的turtle库 画出最完美的一个爱心 这里本文介绍两种方法
  • 构建智慧储能物联网,4G工业路由器远程监测在线管理

    物联网技术的发展为智慧储能管理带来了革命性的变化 其中 4G工业路由器IR5000通过丰富的连接能力如串口RS485 232或网口的方式 实现了与储能现场各设备的连接 包括电表 电能检测器 防孤岛装置 BMS电池管理系统 监控服务器 储能控
  • 电商API接口接入|电商系统中的商品功能就该这么设计,稳的一批!

    商品功能作为电商系统的核心功能 它的设计可谓是非常重要的 就算不是电商系统中 只要是涉及到需要交易物品的项目 商品功能都具有很好的参考价值 今天就以mall项目中的商品功能为例 来聊聊商品功能的设计与实现 mall项目简介 这里还是简单介绍
  • Windows7系统odbcad32.exe文件丢失问题

    其实很多用户玩单机游戏或者安装软件的时候就出现过这种问题 如果是新手第一时间会认为是软件或游戏出错了 其实并不是这样 其主要原因就是你电脑系统的该dll文件丢失了或没有安装一些系统软件平台所需要的动态链接库 这时你可以下载这个odbcad3
  • 软件测试/测试开发/人工智能/测试管理圆桌讨论会 | 解锁测试管理的核心问题,提升您的管理实力!

    人工智能的出现 对我们的测试行业有哪些明显的影响呢 我们又应该如何应对 如何更好地拥抱人工智能呢 如何打造积极向上 主动 执行力强 不推诿 不甩锅 服从安排 和谐 互帮互助的团队 如何有效的追踪团队的测试效率 后续对测试时间 质量等评估做支
  • 直播预约丨《实时湖仓实践五讲》第五讲:实时湖仓领域的最佳实践解析

    如今 大规模 高时效 智能化数据处理已是 刚需 企业需要更强大的数据平台 来应对数据查询 数据处理 数据挖掘 数据展示以及多种计算模型并行的挑战 湖仓一体方案应运而生 实时湖仓实践五讲 是袋鼠云打造的系列直播活动 将围绕实时湖仓的建设趋势和
  • 爱心代码编程python可复制,怎么用python编写图案

    大家好 小编来为大家解答以下问题 简单的python代码编程图形 爱心代码编程python可复制 今天让我们一起来看看吧 Python自带一套简单的图形开发工具 Turtle 小乌龟 用来画一些简单的二维图形 通过写代码来画画 import
  • Windows7系统nslookup.exe文件丢失问题

    其实很多用户玩单机游戏或者安装软件的时候就出现过这种问题 如果是新手第一时间会认为是软件或游戏出错了 其实并不是这样 其主要原因就是你电脑系统的该dll文件丢失了或没有安装一些系统软件平台所需要的动态链接库 这时你可以下载这个nslooku
  • Windows7系统openfiles.exe文件丢失问题

    其实很多用户玩单机游戏或者安装软件的时候就出现过这种问题 如果是新手第一时间会认为是软件或游戏出错了 其实并不是这样 其主要原因就是你电脑系统的该dll文件丢失了或没有安装一些系统软件平台所需要的动态链接库 这时你可以下载这个openfil
  • Windows7系统ntkrnlpa.exe文件丢失问题

    其实很多用户玩单机游戏或者安装软件的时候就出现过这种问题 如果是新手第一时间会认为是软件或游戏出错了 其实并不是这样 其主要原因就是你电脑系统的该dll文件丢失了或没有安装一些系统软件平台所需要的动态链接库 这时你可以下载这个ntkrnlp
  • IP地址定位技术能做什么?

    随着互联网的普及和技术的不断进步 人们对于网络的需求越来越高 在这个过程中 IP地址定位技术逐渐崭露头角 成为了一个备受关注的话题 那么 IP地址定位技术究竟能做什么呢 一 确定地理位置 IP地址定位技术最基本的功能就是确定地理位置 通过查
  • Windows7系统PATHPING.EXE文件丢失问题

    其实很多用户玩单机游戏或者安装软件的时候就出现过这种问题 如果是新手第一时间会认为是软件或游戏出错了 其实并不是这样 其主要原因就是你电脑系统的该dll文件丢失了或没有安装一些系统软件平台所需要的动态链接库 这时你可以下载这个PATHPIN
  • 执行tsc -v命令后报错‘tsc‘ 不是内部或外部命令,也不是可运行的程序或批处理文件。怎样解决?

    分析 tsc v 这个命令主要是查看typescript编译器的版本号的 也可以用于检查typescript是否安装好了 是否正常 1 如果没有安装的话 就去安装 可以使用 npm ls typescript 查看本地是否安装typescr
  • 鸿蒙开发 - Number和number、String和string等的区别

    我们知道鸿蒙开发使用的语言时 ArkTS 而 ArkTS 是 TypeScript 的超集 TypeScript 又是 JavaScript 的超集 所以对于基本数据类型使用的是 TypeScript 语法 在 TypeScript 中 N
  • python 必pass,这几个问题搞不明白,建议还是不要去面试了!

    1 可迭代对象 在 python 中我们可以通过 for 循环来遍历列表 元组 这种遍历我们称为迭代 Iteration 在 python 中凡是可以通过 for in 进行迭代的对象 它就是可迭代对象 1 1 如何判断一个对象是可迭代对象
  • 《LeetCode力扣练习》代码随想录——双指针法(翻转字符串里的单词---Java)

    LeetCode力扣练习 代码随想录 双指针法 翻转字符串里的单词 Java 刷题思路来源于 代码随想录 151 反转字符串中的单词 双指针 class Solution public String reverseWords String