LeetCode——Reverse Words in a String

Given an input string, reverse the string word by word.

For example,
Given s = "the sky is blue",
return "blue is sky the".

Clarification:
What constitutes a word?
A sequence of non-space characters constitutes a word.
Could the input string contain leading or trailing spaces?
Yes. However, your reversed string should not contain leading or trailing spaces.
How about multiple spaces between two words?
Reduce them to a single space in the reversed string.

中文:给定一个输入字符串,按照单词逆转之。

例如:

给定 s="the sky is blue",

返回 "blue is sky the"

说明:什么组成一个单词?

一个非空的字符序列组成一个单词。

输入的字符串可以包含头或尾的空格吗?

可以。但是你的倒转的字符串不应该包含头尾空格。

两个单词间有多个空格又怎样呢?

在倒转的字符串中把它们减少为一个空格。

此题比较简单,主要考虑使用空格进行分割和空格的去除。

Java:

	  public String reverseWords(String s) {
		  if(s.trim() == "")
			  return null;
	        String str[] = s.trim().split("\\s+");
	        StringBuilder sb = new StringBuilder();
	        int len = str.length;
	        for(int i=len-1;i>=0;i--){
	        	if(str[i] == " ")
	        		continue;
	        	sb.append(str[i]+" ");
	        }
	        return sb.toString().trim();
	    }


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值