LeetCode Reverse Words in String (Java)

对一个字符串中的单词进行倒序输出

如:“how are you”

输出:“you are how” 

这实际上是一到很简单的题目,尤其是用Java提供的split()更简单。

但是有一点很容易遗漏:s可能是一个很长的空格组成的字符串,这一点需要单独考虑。

if (builder.length() != 0 && builder.toString().trim().length() == 0) {
			return s;
		}

下面的代码在leetCode上:Accepted

private static String reverseWords(String s) {
		if (s.length() == 0 || s == null)
			return "";

		String[] str = s.split(" ");
		StringBuilder builder = new StringBuilder();

		for (int i = str.length - 1; i >= 0; i--) {
			if (!str[i].equals("")) {
				builder.append(str[i]).append(" ");
			}
		}
		if (builder.length() != 0 && builder.toString().trim().length() == 0) {
			return s;
		}

		return builder.length() == 0 ? "" : builder.substring(0,
				builder.length() - 1);
	}


posted on 2014-10-27 21:56  jinfenglee  阅读(127)  评论(0编辑  收藏  举报

导航