翻转字符串里的单词

Bertha 。 2022-01-20 20:58 339阅读 0赞

问题描述

示例 1:

  1. 输入: "the sky is blue"
  2. 输出: "blue is sky the"

示例 2:

  1. 输入: " hello world! "
  2. 输出: "world! hello"
  3. 解释: 输入字符串可以在前面或者后面包含多余的空格,但是反转后的字符不能包括。

示例 3:

  1. 输入: "a good example"
  2. 输出: "example good a"
  3. 解释: 如果两个单词间有多余的空格,将反转后单词间的空格减少到只含一个。

说明:

  • 无空格字符构成一个单词。
  • 输入字符串可以在前面或者后面包含多余的空格,但是反转后的字符不能包括。
  • 如果两个单词间有多余的空格,将反转后单词间的空格减少到只含一个。

进阶:

  • 请选用 C 语言的用户尝试使用 O(1) 额外空间复杂度的原地解法。

解法1,库函数split

split分割,然后反转即可

  1. public String reverseWords(String s) {
  2. s =s.trim();
  3. String[] arr = s.split(" ");
  4. StringBuilder sb = new StringBuilder();
  5. for(int i=arr.length-1;i>=0;i--) {
  6. if(!"".equals(arr[i])) {
  7. sb.append(arr[i]).append(" ");
  8. }
  9. }
  10. return sb.toString().trim();
  11. }

发表评论

表情:
评论列表 (有 0 条评论,339人围观)

还没有评论,来说两句吧...

相关阅读