【力扣练习题】151. 反转字符串中的单词

class Solution {

public String reverseWords(String s) {

s = s.trim();

String[] arr = s.split("\s+");

List wordList = Arrays.asList(arr);

StringBuilder sb = new StringBuilder();

// 从后往前遍历数组

for (int i = arr.length - 1; i >= 0; i--) {

sb.append(arr[i]);

// 除了最后一个单词,其余单词后加空格

if (i > 0) {

sb.append(" ");

}

}

return sb.toString();

// List wordList = Arrays.asList(arr);

复制代码
    // Collections.reverse(wordList);
    //return String.join(" ", wordList);
}

}

复杂度分析

时间复杂度:O(n),其中 n 为输入字符串的长度。

空间复杂度:O(n),用来存储字符串分割之后的结果。

相关推荐
季明洵2 分钟前
Java简介与安装
java·开发语言
myloveasuka4 分钟前
红黑树、红黑规则、添加节点处理方案
开发语言·算法
沉鱼.445 分钟前
枚举问题集
java·数据结构·算法
2301_810160955 分钟前
C++中的访问者模式高级应用
开发语言·c++·算法
郝学胜-神的一滴6 分钟前
走进计算机图形学的浪漫宇宙 | GAMES101 开篇课程全解析
c++·算法·图形渲染·计算机图形学
没头脑的男大7 分钟前
灵神,2x树的层序遍历,102,103,513
算法
m0_518019488 分钟前
C++中的享元模式
开发语言·c++·算法
林夕sama9 分钟前
多线程基础(五)
java·开发语言·前端
Zzxy13 分钟前
HikariCP连接池
java·数据库
我带你来这儿就是为了告诉你我13 分钟前
C++23新特性前瞻
开发语言·c++·算法