LeetCode刷题笔录Reverse Words in a String

高通引导文件获取全攻略:ELF/MBN提取与EDL救砖实战 在智能手机底层维护中,引导加载程序(Bootloader)是系统启动的第一道关卡。高通平台通过PBL、SBL1/XBL等阶段完成硬件初始化和安全校验,一旦引导分区损坏,设备便可能陷入黑砖状态。此时,掌握ELF与MBN格式的引导镜像获取方法,成为维修工程师和刷机用户的核心技能。通过官方固件包解包或借助EDL模式直接从设备分区备份,均能获得原厂匹配的引导文件。配合Firehose工具和9008端口通信,即可实现分区级读写与救砖恢复。本文从启动链路原理出发,对比两种获取路径的适用场景,并针对驱动识别、文件校验、分 阅读详情

https://oj.leetcode.com/problems/reverse-words-in-a-string/


我的做法是从后往前扫描,遇到空格就前进一个字符,直到不是空格为止。然后把不是空格的连续字符都放到一个buffer里,然后把这个buffer反序放到结果string里。结果string要加一个空格。

比如 i am legend. 先是buffer里放dnegel,然后反序这个buffer变成legend放到结果里


java的stringbuffer自带reverse()函数,不过我猜应该不能直接用吧,要自己写一个。

public class Solution {
    public String reverseWords(String s) {
        if(s == null || s.length() == 0)
            return "";
        StringBuffer res = new StringBuffer();
        int i = s.length() - 1;
        while(i >= 0){
            while(i >= 0 && s.charAt(i) == ' ')
                i--;
            if(i == -1)
                break;
            if(res.length() != 0)
                res.append(" ");
            StringBuffer word = new StringBuffer();
            while(i >= 0 && s.charAt(i) != ' '){
                word.append(s.charAt(i));
                i--;
            }
            String str = reverse(word.toString());
            res.append(str);
        }
        return res.toString();
    }
    
    public String reverse(String s){
        char[] arr = s.toCharArray();
        for(int i = 0; i < arr.length / 2; i++){
            char temp = arr[i];
            arr[i] = arr[arr.length -1 - i];
            arr[arr.length - 1 - i] = temp;
        }
        return new String(arr);
    }
}


闲鱼x-sign、x-mini-wua、x-umt三字段协同验证机制解析 在移动客户端风控体系中,设备标识与行为签名是保障接口安全的核心技术。x-sign并非传统时间戳+密钥的静态签名,而是融合设备特征、运行时状态与服务端动态因子的多阶段位运算结果;x-mini-wua作为小程序轻量水印,依赖主App注入的短时效sessionKey与截断时间戳;x-umt则通过设备硬件与网络环境联合编码实现强绑定。三者构成‘设备—环境—行为’三位一体的交叉验证链路,广泛应用于电商API防护、二手平台数据采集及自动化运营等场景。本文基于Android/iOS真机逆向与Frida动态分析,揭示其生成 阅读详情

相关推荐

蓝牙钥匙 第48次 全面解析防中继攻击保护:从原理到防护技术实践

中继攻击已成为物联网安全领域的重要威胁,2023年全球相关损失达数十亿美元。本文深入分析中继攻击原理,揭示其通过转发设备延长通信距离而不破解加密的特点。重点探讨两种关键防护技术:基于距离测量的方法(包括UWB超宽带技术)可精确检测异常距离;基于时间戳的挑战-响应机制则通过严格时间窗口识别中继延迟。文章还提出多层次防护体系构想,结合AI异常检测和量子安全协议等前沿技术。研究显示,集成多种防护技术并遵循行业标准是应对中继攻击的有效途径,为物联网设备安全提供重要参考。

IT深耕十余载,大道之简 1821

151. Reverse Words in a String

Given an input string, reverse the string word by word. For example, Given s = "the sky is blue", return "blue is sky the". My Solution: public class Solution { public String reverseWords

SHURamos的博客 388

一种基于OpenPose和DNN的跌倒检测软件系统(中文&英文)

学习并实现一种跌倒检测模型,此模型基于OpenPose实现逐帧人体姿态检测,使用DNN识别人体动作。检测方式有在线与离线两种,本文主要测试了离线模式,测试效果较好。

Tongzhou_Li的博客 2643

转载 | python二级选择题与分析(8)

数据库设计中反映用户对数据要求的模式是___________。 A 概念模式 B 内模式 C 设计模式 D 外模式 正确答案: D 一个工作人员可使用多台计算机,而一台计算机被多个人使用,则实体工作人员与实体计算机之间的联系是___________。 A 多对一 B 多对多 C 一对一 D 一对多 正确答案: B 软件生命周期是指___________。 A 软件的运行维护过程 B 软...

菜鸟程序员博客 1万+

EverOS:为AI智能体构建长期记忆系统的完整指南

长期记忆是AI智能体实现持续学习和自我演进的核心能力,它通过结构化存储和关联检索历史交互信息,使智能体能够跨越单次对话的局限。其技术原理通常涉及向量数据库、记忆提取算法和知识图谱等组件,用于对非结构化对话内容进行编码、组织和索引。这一能力的技术价值在于显著提升了智能体的个性化服务水平、任务完成连贯性以及从经验中学习的能力,是实现真正“智能”伙伴的关键。在应用场景上,长期记忆系统广泛应用于个性化聊天伴侣、持续学习的编程助手、游戏NPC角色塑造以及客户服务机器人等领域。本文以EverOS为例,深入解析了其提供的

weixin_28679635的博客 449

采样率转化代码C++(有理倍数,升采样、降采样均可)

【代码】采样率转化(有理倍数,升采样、降采样均可)

goudahai的专栏 546

Python选择题

基本常识 15. 关于 Python 语言的特点,以下选项中描述错误的是 A..Python 语言是非开源语言 B..Python 语言是跨平台语言 C..Python 语言是多模型语言 D..Python 语言是脚本语言 正确答案: A. 以下选项中说法不正确的是 A.. C语言是静态语言,Python语言是脚本语言 B..编译是将源代码转换成目标代码的过程 C..解释是将源代码逐条转换成目...

weixin_43793040的博客 22万+

【DRAM存储器五十七】LPDDR5介绍--read DQ training和WCK DQ training

简述LPDDR5训练中的读写DQ训练

highman110的博客 521

python二级真题--共十二套--后六套--选择题

上半部分 --> 请点击 https://blog.youkuaiyun.com/ExclusiveName/article/details/104537575 第七套真题 在面向对象方法中,一个对象请求另一对象为其服务的方式是通过发送___________。 A 命令 B 口令 C 消息 D 调用语句 正确答案: C 下面不属于软件需求分析阶段主要工作的是___________。 A 需...

hao难懂的博客 3万+

生产环境中redis的SCAN命令如何替代KEYS命令?

本文介绍了使用SCAN命令替代KEYS的完整方案。SCAN通过游标分批迭代,避免KEYS命令遍历整个键空间导致的阻塞风险。文章详细说明了SCAN的基础语法、迭代流程和Java实现示例,强调必须关闭Cursor避免连接泄漏。针对生产环境,提供了COUNT参数调优、客户端去重、集群模式适配等优化建议,并列举了典型错误场景。SCAN通过分批次迭代和游标管理,可安全实现高性能键空间遍历。全文150字。

DN金猿的博客 179

风控域——知识图谱相关原理

本文全面介绍了知识图谱在风控领域的应用原理。从基础知识入手,阐述了知识图谱的定义、概念及应用场景,重点聚焦于金融风控。进一步讲解了知识图谱的技术架构,涵盖计算、融合与构建等方面。深入探讨了知识表示、建模、抽取、挖掘、存储、融合、检索和推理等关键技术原理,并结合金融风控实际需求,详细说明了各技术环节的具体应用方法与流程,为构建高效风控知识图谱提供了理论与实践指导。

庄小焱 606

55. A man of words and not of deeds is like a garden full of weeds. 光说空话不做事,犹如花园光长刺

光说空话不做事,犹如花园光长刺。

ylmmee的专栏 2195

Vulkan入门系列3 - 绘制三角形代码解析(全)

【代码】Vulkan入门系列3 - 绘制三角形完整代码(带详细注释)

GPU全栈博主 1033

字符串算法——反转字符串单词表(Reverse Words in a String)

问题: Given an input string, reverse the string word by word.For example, Given s = “the sky is blue”, return “blue is sky the”.Update (2015-02-12): For C programmers: Try to solve it in-place in O(1

旧城故人往事的博客 408

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

LeetCode - 557. 反转字符串中的单词 III

/** * @param {string} s * @return {string} */ var reverseWords = function(s) { return s.split(' ').reduce((t, c) => { t.push(c.split('').reverse().join('')) return t }, ...

CSU_Zipple的博客 147

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

LeetCode刷题笔录Add Binary

Given two binary strings, return their sum (also a binary string). For example, a = "11" b = "1" Return "100". 具体一位一位地加就行了,考虑进位的问题。还有最后记得把生成的string反过来再返回,因为我们是从最低位开始加的。 public class Solu

likecool21的专栏 1127

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

LeetCode刷题笔录Longest Common Prefix

Write a function to find the longest common prefix string amongst an array of strings. bu

likecool21的专栏 964

LeetCode刷题笔录String to Integer (atoi)

Implement atoi to convert a string to an integer. Hint: Carefully consider all possible input cases. If you want a challenge, please do not see below and ask yourself what are the possible input ca

likecool21的专栏 803

LeetCode刷题笔录Longest Valid Parentheses

Given a string containing just the characters '(' and ')', find the length of the longest valid (well-formed) parentheses substring. For "(()", the longest valid parentheses substring is "()",

likecool21的专栏 789

LeetCode刷题笔录Interleaving String

Given s1, s2, s3, find whether s3 is formed by the interleaving of s1 and s2. For example, Given: s1 = "aabcc", s2 = "dbbca", When s3 = "aadbbcbcac", return true. When s3 = "aadbbbaccc", return

likecool21的专栏 739

LeetCode刷题笔录Valid Parentheses

Given a string containing just the characters '(', ')', '{', '}', '[' and ']', determine if the input string is valid. The brackets must close in the correct order, "()" and "()[]{}" are all va

likecool21的专栏 714

LeetCode刷题笔录Wildcard Matching

Implement wildcard pattern matching with support for '?' and '*'. '?' Matches any single character. '*' Matches any sequence of characters (including the empty sequence). The matching should cover t

likecool21的专栏 695

LeetCode刷题笔录Simplify Path

Given an absolute path for a file (Unix-style), simplify it. For example, path = "/home/", => "/home" path = "/a/./b/../../c/", => "/c" click to show corner cases. Corner Cases: Did

likecool21的专栏 691

LeetCode刷题笔录Count and Say

The count-and-say sequence is the sequence of integers beginning as follows: 1, 11, 21, 1211, 111221, ... 1 is read off as "one 1" or 11. 11 is read off as "two 1s" or 21. 21 is read off as 

likecool21的专栏 661

LeetCode刷题笔录Roman to Integer

Given a roman numeral, convert it to an integer. Input is guaranteed to be within the range from 1 to 3999. 和Integer to Roman那题一样挺无聊的。

likecool21的专栏 649

LeetCode刷题笔录Length of Last Word

Given a string s consists of upper/lower-case alphabets and empty space characters ' ', return the length of last word in the string. If the last word does not exist, return 0. Note: A word is

likecool21的专栏 623
上一篇: LeetCode刷题笔录Permutations II
下一篇: LeetCode刷题笔录LRUCache
likecool21
博客等级 码龄14年 14粉丝 123原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值