Java面试题冲刺第二十六天的实战编程主要涵盖了将一串字符串进行翻转操作的问题。下面我们将具体讲解该题的攻略。
Java面试题冲刺第二十六天的实战编程主要涵盖了将一串字符串进行翻转操作的问题。下面我们将具体讲解该题的攻略。
题目描述
给定一个字符串,将字符串中的每个单词翻转过来。
例子:
输入:"the sky is blue"
输出:"blue is sky the"
思路分析
该题解题过程分为以下几步:
- 将字符串按照空格切分为单个单词,并转化为字符数组。
- 遍历单个单词,将每个单词翻转。
- 将翻转后的单个单词拼接成一个翻转后的字符串。
代码实现
下面是本题的具体实现代码:
public class ReverseString {
public String reverseWords(String s) {
if(s == null || s.length() == 0) {
return "";
}
String[] words = s.split(" ");
StringBuilder sb = new StringBuilder();
for(int i = 0; i < words.length; i++) {
if(!words[i].equals("")) {//过滤多余的空格
sb.insert(0, words[i] + " ");
}
}
return sb.length() == 0 ? "" : sb.substring(0, sb.length() - 1);//最后一个单词之后不能有空格
}
}
示例说明
示例一
String s = "the sky is blue";
ReverseString rs = new ReverseString();
String result = rs.reverseWords(s);
System.out.println(result);
输出:
blue is sky the
示例二
String s = " hello world! ";
ReverseString rs = new ReverseString();
String result = rs.reverseWords(s);
System.out.println(result);
输出:
world! hello
从以上两个示例中可以看出,本题解决了输入字符串中存在多余的空格的问题。而且也满足了复杂度的要求,时间复杂度为 $O(n)$,空间复杂度为 $O(n)$。
织梦狗教程
本文标题为:Java面试题冲刺第二十六天–实战编程


基础教程推荐
猜你喜欢
- mysql+mybatis实现存储过程+事务 + 多并发流水号获取 2023-08-13
- redis分布式ID解决方案示例详解 2023-07-13
- redis数据库安装及简单的增删改查 2023-09-11
- MySql中删除数据表的方法详解 2022-08-31
- Python3.10动态修改Windows系统本地IP地址 2023-07-27
- Python NLP开发之实现聊天机器人 2023-07-27
- Pycharm运行程序时,控制台输出PyDev console:starting问题 2023-07-27
- Oracle报错ora-12514检查以及解决方法 2023-07-24
- 解决Oracle模拟事务提交、表锁,处理表锁问题 2023-07-23
- php 处理上百万条的数据库如何提高处理查询速度 2023-12-03