Reverse Words in a String

151. Reverse Words in a String

题目的原意是写一个函数对给定的String进行逐个单词的反转。

e.g. given s = "the sky is blue", return "blue is sky the"

要考虑的corner case

1. 是什么构建一个单词?一些非空格的字符串组成一个单词。

2. tab 和 newline 字符是否算作空格字符? 假设不包含任何tab或者newline字符

3. string可以包含首尾空格(leading or trailing spaces)?可以,但是反转的string不包含首尾空格。

4. 如何对待在两个单词之间的多个空格? 可以减少到一个空格。

解题思路:比较容易想到的是先将输入的 String s 拆分成若干个单词word,然后将单个word按照逆序重排。

public String reverseWords(String s){
    StringBuilder reversed = new StringBuilder();
    String[] words = s.split("\\s+");
    for (int i = words.length - 1; i >= 0; i--) {
        String word = String.format("%s ", words[i]);
         reversed.append(word);
    }
    return reversed.toString().trim();
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值