给定一个字符串,逐个翻转字符串中的每个单词。(java)

本文介绍如何使用Java解决逐个翻转字符串中每个单词的问题。关键点包括trim()方法去除空白符,split()函数按空格分割字符串,Collections.reverse()反转单词,以及String.join()拼接字符串。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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

示例 1:
输入: "the sky is blue"
输出: "blue is sky the"

今天刷这道算法题的时候,感触良多。java 4行代码,每一行都很有价值。进阶之路还很漫长,加油吧!!!

代码

public class ReverseWords {

    public String reverseWords(String s){
        //去除开头和结尾的空格
        s = s.trim();
        //正则匹配连续的空白字符作为分隔符分割
        List<String> wordList = Arrays.asList(s.split("\\s+"));
        //反转字符串
        Collections.reverse(wordList);
        //拼接字符串
        return String.join(" ",wordList);
    }

知识点

1.trim()方法用于删除字符串的头尾空白符。

2.asList ()将数组转成list,是JDK中java.util包中Arrays类的静态方法

3.split("\s+") 用于分割字符串,返回的是一个数组。
这里的\s表示空格,回车,换行等空白符,
+好表示一个或多个的意思。

4.Collections类包含对集合进行操作或返回集合的静态方法。
这里的reverse()方法是反转字符串。

5.String.join():拼接字符串。 参数为2个,第一个参数为拼接符号,第二个参数为数组和集合.

附:
Collections提供以下方法对List进行排序操作:
void reverse(List list):反转
void shuffle(List list),随机排序
void sort(List list),按自然排序的升序排序
void sort(List list, Comparator c);定制排序,由Comparator控制排序逻辑
void swap(List list, int i , int j),交换两个索引位置的元素
void rotate(List list, int distance),旋转。
当distance为正数时,将list后distance个元素整体移到前面。
当distance为负数时,将 list的前distance个元素整体移到后面。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值