leetcode 151 Reverse Words in a String java 算法

本文介绍了一种使用Java实现的字符串逆序算法,该算法能够将输入的一段话整体逆序排列,但保持每个单词内部字符顺序不变。通过去除多余空格并利用字符串数组进行反转操作来完成。

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

题目描述:将一段话逆序,但是单词本身不逆序。

算法描述:本题需要考虑的情况比较多,主要考察考虑问题是否全面,下面是java的解法:

public class Solution {
    public String reverseWords(String s) {
        if(s==null || s.length()==0){
            return s;
        }
        if(s.trim().length()==0)
            return s.trim();//对于只有空格的情况,则去除所有空格,返回即可

        s = s.trim();//去除一句话两端多余的空格
        String []ss = s.split(" ");
        String newS = "";
        for(int i=ss.length-1;i>=1;i--){
            if(ss[i].equals(""))//由于句子中也可能会有很多空格,所以会产生多余的“”
                continue;
            newS = newS + ss[i]+" ";
        }
        newS = newS+ss[0];
        return newS;
    }
}

个人感觉用java的解法相对于写起来比较容易。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值