力扣题151反转字符串里的单词
发布日期:2022-03-04 11:48:25 浏览次数:1 分类:技术文章

本文共 1077 字,大约阅读时间需要 3 分钟。

给你一个字符串 s ,逐个翻转字符串中的所有 单词 。

单词 是由非空格字符组成的字符串。s 中使用至少一个空格将字符串中的 单词 分隔开。

请你返回一个翻转 s 中单词顺序并用单个空格相连的字符串。

说明:

输入字符串 s 可以在前面、后面或者单词间包含多余的空格。
翻转后单词间应当仅用一个空格分隔。
翻转后的字符串中不应包含额外的空格。
 

示例 1:

输入:s = "the sky is blue"
输出:"blue is sky the"
示例 2:

输入:s = "  hello world  "
输出:"world hello"
解释:输入字符串可以在前面或者后面包含多余的空格,但是翻转后的字符不能包括。
示例 3:

输入:s = "a good   example"
输出:"example good a"
解释:如果两个单词间有多余的空格,将翻转后单词间的空格减少到只含一个。
示例 4:

输入:s = "  Bob    Loves  Alice   "
输出:"Alice Loves Bob"
示例 5:

输入:s = "Alice does not even like bob"
输出:"bob like even not does Alice"

1.记录一下自己的解法:从后往前遍历字符串,遇到空格就跳过,遇到字符就遍历完整个这个字符所在的单词,然后加入StringBuilder中。

class Solution {
public String reverseWords(String s) {
StringBuilder str = new StringBuilder();
int end = s.length() - 1;
//从后往前遍历
while (end >= 0) {
if (s.charAt(end) == ' ') {//遇到空格,直接跳过
end--;
continue;
}
int start = end;
//遇到非空格,就把这个字符属于的单词遍历出来
while (start >= 0 && s.charAt(start) != ' ') {
start--;
}
str.append(s.substring(start + 1,end + 1));
str.append(" ");//每个单词结束后加一个空格
end = start - 1;
}
//注意要删除最后一个单词加的空格
return str.deleteCharAt(str.length() - 1).toString();
}}

题源:

转载地址:https://blog.csdn.net/xxyneymar/article/details/122655984 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:爬虫学习总结
下一篇:SpringBoot入门(八)异常处理/Servlet组件注入/定制化

发表评论

最新留言

第一次来,支持一个
[***.36.149.29]2022年07月30日 12时24分13秒

关于作者

    喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!

最新文章

cfa计算机使用方法,cfa计算机使用 2020-01-10 11:49:33
ajax判断输入用户名是否正确,使用Ajax判断输入的用户名是否可用 2020-01-10 11:49:33
开机启动微软sql服务器,使用 SQL Server 服务启动选项 2020-01-10 11:49:34
量子特工显示无法连接服务器,量子特攻安装失败怎么办_量子特攻安装失败解决方法_游戏吧... 2020-01-10 11:49:34
清华大学计算机系71班张晨,本科三篇顶会一作、超算竞赛冠军,2020清华本科特奖结果出炉... 2020-01-10 11:49:32
荣耀v8计算机如何使用方法,荣耀V8 2020-01-10 11:49:32
电脑开机自动联服务器,如何让Mac开机自动连接到NAS或网上邻居上的电脑 2020-01-10 11:49:32
巨型计算机语言主要应用于,计算机应用基础知识复习题 2020-01-10 11:49:32
易语言服务器取cookie,QQ取本机cookie操作空间易语言源码 2020-01-10 11:49:32
ddos云服务器防御,腾讯云服务器被ddos如何防御? | 腾讯云 2020-01-10 11:49:32
小学生计划计算机使用计划,小学生计算机教学计划 2020-01-10 11:49:31
java.awt.image,为什么不是java.awt.image.BufferedImage中的序列化? 2020-01-10 11:49:31
java 列表边传边显示,Java通过引用传递列表的问题 2020-01-10 11:49:31
武汉大学计算机作业,武汉大学计算机学院研究生操作系统作业.docx 2020-01-10 11:49:31
小学计算机课打气球,小学信息技术课程中学生信息素养的培养.doc 2020-01-10 11:49:32
中职学生计算机学情分析报告,中职学生学情分析范文.doc 2020-01-10 11:49:32
计算机网络中对编码与调制,20132184_计算机网络_第三次作业_物理层程序.doc 2020-01-10 11:49:30
计算机控制系统考试题目,计算机控制系统复习试题答案.doc 2020-01-10 11:49:30
幼儿园ppt计算机考试试题,《幼儿园课件制作》期末试卷A卷 2020-01-10 11:49:30
计算机初始配置,怎么将电脑的网络设置初始化? 2020-01-10 11:49:30