「这是我参与11月更文挑战的第20天,活动详情查看:2021最后一次更文挑战」
描述
输入一个英文句子,翻转句子中单词的顺序,但单词内字符的顺序不变。为简单起见,标点符号和普通字母一样处理。例如输入字符串”I am a student. “,则输出”student. a am I”。
- 示例 1:
1 | arduino复制代码输入: "the sky is blue" |
- 示例 2:
1 | makefile复制代码输入: " hello world! " |
- 示例3
1 | makefile复制代码输入: "a good example" |
- 提示
1 | 复制代码无空格字符构成一个单词。 |
解析
利用两个指针,一个快,一个慢,快指针遇到空格就停下来,把经过的非空放到stringbuilder中,要加上中间的空格” “,注意substring的写法,别写成subString,然后这个函数是前闭后开 之后快指针遇到空格就跳过,直到遇到新的不为空的,把慢指针挪过去j = i,继续下一个单词的计数,注意最后的单词,后面还跟着” “,需要再trim()一下
示例
1 | arduino复制代码class Solution { |
运行结果:
执行结果:通过
执行用时:0 ms, 在所有 Java 提交中击败了100.00%的用户
内存消耗:35.3 MB, 在所有 Java 提交中击败了84.82%的用户
本文转载自: 掘金