当前位置: 首页 > article >正文

力扣151.反转字符串中的单词

import java.util.Stack;

public class Solution {
    // 定义一个方法,用于反转字符串中的单词顺序
    public String reverseWords(String s) {
        // 创建一个栈,用于存储单词
        Stack<String> words = new Stack<>();
        // 获取字符串的长度
        int n = s.length();
        // 遍历字符串中的每个字符
        for (int i = 0; i < n; i++) {
            // 创建一个StringBuilder对象,用于构建单词
            StringBuilder sub = new StringBuilder();
            // 当当前字符不是空格时,继续构建单词
            while (i < n && s.charAt(i) != ' ') {
                sub.append(s.charAt(i)); // 将当前字符添加到单词中
                i++; // 移动到下一个字符
            }
            // 如果构建的单词不为空,则将其压入栈中
            if (sub.length() > 0)
                words.push(sub.toString());
        }
        // 创建一个StringBuilder对象,用于构建最终的反转后的字符串
        StringBuilder ans = new StringBuilder();
        // 将栈顶的单词添加到结果字符串中
        ans.append(words.peek());
        words.pop(); // 弹出栈顶空格元素
        // 当栈不为空时,继续添加剩余的单词
        while (!words.isEmpty()) {
            ans.append(" "); // 在单词之间添加空格
            ans.append(words.peek()); // 将栈顶的单词添加到结果字符串中
            words.pop(); // 弹出栈顶元素
        }
        // 返回反转后的字符串
        return ans.toString();
    }
}
 


http://www.kler.cn/news/290455.html

相关文章:

  • 输电线路分布式故障诊断系统:分布式智慧网络的构建
  • c#笔记5 详解事件的内置类型EventHandler、windows事件在winform中的运用
  • 【IEEE出版 | 往届会后3个月EI检索】第三届IEEE云计算、大数据应用与软件工程国际学术会议 (IEEE-CBASE 2024,10月18-20)
  • 6 - Shell编程之sed与awk编辑器
  • 高级java每日一道面试题-2024年8月28日-框架篇[Spring篇]-你对Spring的事务管理了解多少?
  • Windows bat脚本学习七(从hex文件中获取bin大小)
  • centos 局域网 内部 时间同步 chrony
  • PHP7 的内核结构
  • 河南省第三届职业技能大赛 网站技术(世赛选拔)项目任务书
  • Go 项目中的 GOPROXY 设置
  • 三极管的检测方法与经验
  • Transiting from CUDA to HIP(三)
  • 刘润《关键跃升》读书笔记6
  • Linux基础指令(二)详解
  • 告别PDF格式困扰,2024年PDF转换器推荐
  • 「OC」iOS事件处理流程
  • Elasticsearch之储存原理和优化
  • 部分设计模式(java语言版本)
  • 常见排序方法详解(图示+方法)
  • VBA中类的解读及应用第十五讲:让文本框在激活时改变颜色(上)
  • HarmonyOS开发实战( Beta5版)多线程能力场景化示例最佳实践
  • 虚幻地形高度图生成及测试
  • 【论文分享】MyTEE: Own the Trusted Execution Environment on Embedded Devices 23‘NDSS
  • 使用FFmpeg的AVFilter转换YUV到RGB
  • 别天天看看直播了,你知道如何用jmeter对直播间做压测吗
  • LearnOpenGL学习笔记
  • MySQL复习4
  • 构建灵活的搜索系统:Go 语言实践
  • AI驱动测试管理工具会有哪些发展前景呢?
  • 关于多线程unique_lock和guard_lock