首页 > 代码库 > 【LeetCode刷题Java版】Reverse Words in a String
【LeetCode刷题Java版】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
".
click to show clarification.
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.
package com.liuhao.acm.leetcode; /** * @author liuhao * * Given an input string, reverse the string word by word. For example, * Given s = "the sky is blue", return "blue is sky the". */ public class ReverseWords { public static String reverseWords(String s) { // 若输入字符串直接是空串,则直接返回该字符串 if (s.equals("")) { return ""; } // 将字符串按空格"\\s{1,}"进行分割,一个或者多个空格的正则:"\\s{1,}" String[] strArr = s.split("\\s{1,}"); int len = strArr.length; // 分割后字符串变成空串,直接返回 if (len == 0) { return ""; } // 用StringBuilder更加有效 StringBuilder sb = new StringBuilder(""); // 反向输出之前分割的字符串数组 for (int i = len - 1; i >= 0; i--) { if (!strArr[i].equals("")) { sb.append(strArr[i]); sb.append(" "); } } sb.deleteCharAt(sb.lastIndexOf(" ")); return sb.toString(); } public static void main(String[] args) { System.out.println(reverseWords("")); } }
【LeetCode刷题Java版】Reverse Words in a String
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。