Java面试题冲刺第二十六天–实战编程

2023-12-07数据库
7

Java面试题冲刺第二十六天的实战编程主要涵盖了将一串字符串进行翻转操作的问题。下面我们将具体讲解该题的攻略。

题目描述

给定一个字符串,将字符串中的每个单词翻转过来。

例子:

输入:"the sky is blue"
输出:"blue is sky the"

思路分析

该题解题过程分为以下几步:

  1. 将字符串按照空格切分为单个单词,并转化为字符数组。
  2. 遍历单个单词,将每个单词翻转。
  3. 将翻转后的单个单词拼接成一个翻转后的字符串。

代码实现

下面是本题的具体实现代码:

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)$。

The End

相关推荐

liunx mysql root账户提示:Your password has expired. To log in yo
liunx mysql root账户提示:Your password has expired. To log in you must change it using a client that supports expired passwords,要怎么操作呢? 1、修改 /etc/my.cnf,在 [mysqld] 小节下添加一行:skip-grant-tables=1 这一行配置让 mysqld 启动...
2024-12-24 数据库
149

快速解决PostgreSQL中的Permission denied问题
下面是针对PostgreSQL中的权限问题的完整攻略。...
2023-12-07 数据库
3413

MySQL时间类型和模式详情
MySQL是一种流行的关系型数据库系统,它提供了多种时间类型和模式,用于存储和处理时间数据。本文将详细介绍MySQL时间类型和模式的详细攻略。...
2023-12-07 数据库
15

VMware中安装CentOS7(设置静态IP地址)并通过docker容器安装mySql数据库(超详细教程)
首先在官网下载CentOS7镜像,并在VMware虚拟机中新建一台CentOS7虚拟机,将镜像挂载到虚拟机中并启动。...
2023-12-07 数据库
11

SpringBoot项目报错:”Error starting ApplicationContext̷
首先,当我们使用Spring Boot开发项目时,可能会遇到Error starting ApplicationContext错误,一般这种错误是由于配置文件、依赖包或者代码逻辑等原因引起的。下面我将提供一条包含两条详细示例说明的完整攻略,用来解决上述问题。...
2023-12-07 数据库
489

Postgresql 赋予用户权限和撤销权限的实例
下面我将详细讲解如何为PostgreSQL数据库中的用户授予权限和撤销权限,包括两个实例。...
2023-12-07 数据库
30