反转字符串中的单词
151.反转字符串中的单词
给你一个字符串 s ,请你反转字符串中 单词 的顺序。
单词 是由非空格字符组成的字符串。s 中使用至少一个空格将字符串中的 单词 分隔开。
返回 单词 顺序颠倒且 单词 之间用单个空格连接的结果字符串。
注意:输入字符串 s中可能会存在前导空格、尾随空格或者单词间的多个空格。返回的结果字符串中,单词间应当仅用单个空格分隔,且不包含任何额外的空格。
str.trim() 的作用
- 功能:去除字符串开头和结尾的所有空白字符(whitespace)
- 空白字符包括:空格( )、制表符(\t)、换行符(\n)、回车符(\r)等
- 重要特性:只去除首尾空白,不会去除中间的空格
split("\\s+") 的详细解释
a) 正则表达式 "\\s+"
\\s:在正则表达式中表示任何空白字符- 包括:空格、制表符、换行符、回车符等
- 注意:Java字符串中
\需要转义,所以要写成\\s
+:表示一个或多个前面的字符\\s+表示一个或多个连续的空白字符
b) 分割过程
对于 "hello world":
1 | 原始字符串: h e l l o [三个空格] w o r l d |
split("\\s+")会查找所有连续的空白字符作为分隔符- 连续的空格被视为一个分隔符
解法1
1 | package com.wereash.scut_hot100; |
解法2
结合58题,分割字符串
1 | int end = s.length()-1; |
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 WereAsh!
评论
ValineDisqus




