LCR 181. 字符串中的单词反转

解题思路:

java 复制代码
class Solution {
    public String reverseMessage(String message) {
        message = message.trim();                               // 删除首尾空格
        int j = message.length() - 1, i = j;
        StringBuilder res = new StringBuilder();
        while (i >= 0) {
            while (i >= 0 && message.charAt(i) != ' ') i--;     // 搜索首个空格
            res.append(message.substring(i + 1, j + 1) + " ");  // 添加单词
            while (i >= 0 && message.charAt(i) == ' ') i--;     // 跳过单词间空格
            j = i;                                              // j 指向下个单词的尾字符
        }
        return res.toString().trim();                           // 转化为字符串并返回
    }
}
相关推荐
CoderYanger1 分钟前
A.每日一题:3345. 最小可整除数位乘积 I
java·数据结构·程序人生·算法·leetcode·面试·学习方法
带多刺的玫瑰2 分钟前
Leecode#16刷题之最接近的三数之和
数据结构·算法
小刘是地理大王5 分钟前
OpenFeign 兜底回调(fallback / fallbackFactory)实战指南
java·后端
Yfhonier8 分钟前
岛屿数量(DFS)
算法·深度优先
橘子汽水1689 分钟前
Leetcode15:三数之和
java·数据结构·算法
Nolla10 分钟前
为什么 assertThrows 需要 () ->:Lambda 延迟执行与异常捕获
java
黄金龙PLUS12 分钟前
ASCON置换算法的优缺点
算法·网络安全·密码学·哈希算法·同态加密
SL_staff14 分钟前
风控规则不该写代码:一个开发者视角的规则引擎实践拆解
java·架构·全栈
邪修king18 分钟前
Re:Linux 系统篇(十六):进程篇(五):O (1) 调度算法深度解析 —— 优先级数组、位图优化与活跃 / 过期双队列
linux·运维·算法