258.反转字符串中的单词

ops/2025/3/16 2:31:05/

方法一:

java">public class Solution {public String reverseWords(String s) {if(s.length()==1&&!s.equals(" ")){return s;}List<String> res=new ArrayList<>();int start=0;for(int i=1;i<s.length();i++){if(s.charAt(i)!=' '&& s.charAt(i - 1)==' '){start=i;}if(s.charAt(i-1)!=' '&&s.charAt(i)==' '){res.add(s.substring(start,i));}if(i==s.length()-1&&s.charAt(i)!=' '){res.add(s.substring(start,i+1));}}Collections.reverse(res);return String.join(" ", res);}
}
python">class Solution(object):def reverseWords(self, s):if len(s)==1 and s!=" ":return sres=list()start=0for i in range(1,len(s)):if s[i]!=" " and s[i-1]==" ":start=iif s[i-1]!=" " and s[i]==" ":res.append(s[start:i])if i==len(s)-1 and s[i]!=" ":res.append(s[start:i+1])res.reverse()return " ".join(res)

方法二:

java">public class Solution {public String reverseWords(String s) {// 使用 split 方法将字符串按空格分割成单词数组// 注意:split 方法会处理多余的空格String[] words = s.trim().split("\\s+");// 使用双指针反转单词数组int left = 0, right = words.length - 1;while (left < right) {String temp = words[left];words[left] = words[right];words[right] = temp;left++;right--;}// 使用 String.join 将单词数组拼接成字符串return String.join(" ", words);}
}
python">class Solution(object):def reverseWords(self, s):# 先反转整个句子,然后反转其中的每个单词# 空间复杂度为O(1)的解法words = s.split()left, right = 0, len(words) - 1while left < right:words[left], words[right] = words[right], words[left]left += 1right -= 1return " ".join(words)


http://www.ppmy.cn/ops/166097.html

相关文章

MySQL中的B+树索引经验总结

一、什么是B树 B树是一种二叉树&#xff0c;由二叉查找树&#xff0c;平衡二叉树&#xff0c;B树演化而来。 请看上图 B树的特点&#xff1a; 1&#xff09;非叶子节点不存放数据&#xff0c;只存放键值&#xff0c;数据都存放在叶子节点中。 2&#xff09;叶子节点都在同一…

奇墨科技FinOps云成本优化:精细化IT成本分摊重塑企业云财务管理

云时代下的IT成本困境&#xff1a;为什么需要精细化IT成本分摊&#xff1f; 根据Flexera《2023云状态报告》&#xff0c;82%的企业存在云资源浪费问题&#xff0c;平均超支比例达32%。与此同时&#xff0c;Gartner预测到2026年&#xff0c;75%的企业将因缺乏有效的成本治理机制…

解决Docker Desktop中ext4.vhdx文件过大的问题

ext4.vhdx是Docker Desktop在Windows系统上使用WSL2&#xff08;Windows Subsystem for Linux 2&#xff09;时&#xff0c;用于存储Linux文件系统的虚拟硬盘文件。 基本概念 VHDX格式&#xff1a;VHDX是微软推出的一种虚拟硬盘格式&#xff0c;具有更大的存储容量、更好的性能…

​2024华为OD机试真题-太阳能板最大面积(C++)-E卷B卷-100分

2024华为OD机试最新E卷题库-(C卷+D卷+E卷)-(JAVA、Python、C++) 目录 题目描述 输入描述 输出描述 用例1 解题思路 考点 代码 c++ 题目描述 给航天器一侧加装长方形或正方形的太阳能板(图中的红色斜线区域),需要先安装两个支柱(图中的黑色竖条), 再在支柱的中…

企业数字化转型数据治理解决方案(119页PPT)(文末有下载方式)

资料解读&#xff1a;企业数字化转型数据治理解决方案 详细资料请看本解读文章的最后内容。 在当今数字化时代&#xff0c;数据已经成为企业最宝贵的资产之一。然而&#xff0c;随着数据量的激增和数据来源的多样化&#xff0c;如何有效管理和利用这些数据成为了企业面临的一…

交通工具驱动电机技术解析:电瓶车、汽车、地铁与高铁的电机对比

点击下面图片&#xff0c;为您提供全新的嵌入式学习路线 文章目录 [TOC](文章目录)一、引言二、电瓶车&#xff1a;直流无刷电机&#xff08;BLDC&#xff09;三、电动汽车&#xff1a;永磁同步电机&#xff08;PMSM&#xff09;与感应电机1. 永磁同步电机&#xff08;主流选…

SQL Server的连接时发生了与网络相关或特定于实例的错误。未找到服务器或无法访问服务器

项目场景&#xff1a; 今天在服务器配置数据库&#xff0c;如果在外网使用IP登录数据库一直连接不上&#xff0c;然后在服务器上面装的数据库使用IP连接还是连接不上&#xff0c;这让我确认不是防火墙的入站规则原因&#xff0c;然后各种配置也看了&#xff0c;还是不好使&…

文件上传复现

漏洞原理与技术演进 ​核心逻辑缺陷 未对上传文件的以下属性进行校验&#xff1a; 文件扩展名&#xff08;.php/.jsp/.asp&#xff09;MIME类型&#xff08;image/jpeg vs text/html&#xff09;文件头标识&#xff08;FFD8FF vs 3C3F706870&#xff09;文件内容&#xff08;是…