​LeetCode刷题实战345:反转字符串中的元音字母

每日一题:【力扣345】反转字符串中的元音字母——easy 【力扣345】反转字符串中的元音字母——easy前言LeetCode 345. 反转字符串中的元音字母解法一:双指针法——O(n)O(n)O(n)思路——双指针分别从两端往中间遍历,匹配并交换步骤——遍历取值 前言 本文旨在记录与分享个人的刷题经验,因水平受限,观点难免偏颇,欢迎大家在评论区交流意见 LeetCode 345. 反转字符串中的元音字母 给你一个字符串s,仅反转字符串中的所有元音字母,并返回结果字符串。 元音字母包括'a'、'e'、'i'、'o'、'u',且可能以大小写两种形式出现。 示例 1 阅读详情

算法的重要性,我就不多说了吧,想去大厂,就必须要经过基础知识和业务逻辑面试+算法面试。所以,为了提高大家的算法能力,这个公众号后续每天带大家做一道算法题,题目就从LeetCode上面选 !

今天和大家聊的问题叫做 反转字符串中的元音字母,我们先来看题面:

https://leetcode-cn.com/problems/reverse-vowels-of-a-string/

Given a string s, reverse only all the vowels in the string and return it.

The vowels are 'a', 'e', 'i', 'o', and 'u', and they can appear in both cases.

编写一个函数,以字符串作为输入,反转该字符串中的元音字母。

示例

示例 1:

输入:"hello"
输出:"holle"

示例 2:

输入:"leetcode"
输出:"leotcede"

解题

这道题利用双指针,一个指头一个指向尾,遇到非元音字符就继续遍历,同时遇到元音字符就交换位置。注意循环内的判断顺序,先判断非元音字符会方便一些。

class Solution {
    public final static HashSet<Character> vowels = new HashSet<>(
        Arrays.asList('a', 'e', 'i', 'o', 'u', 'A', 'E', 'I', 'O', 'U')
    );
    public String reverseVowels(String s) {
        if (s == null) return null;
        int i = 0;
        int j = s.length() - 1;
        char[] result = new char[s.length()];
        while (i <= j) {
            char ci = s.charAt(i);
            char cj = s.charAt(j);
            if (!vowels.contains(ci)) {
                result[i++] = ci;
            } else if (!vowels.contains(cj)) {
                result[j--] = cj;
            } else {
                result[i++] = cj;
                result[j--] = ci;
            }
        }
        return new String(result);
    }
}

好了,今天的文章就到这里,如果觉得有所收获,请顺手点个在看或者转发吧,你们的支持是我最大的动力 。

上期推文:

LeetCode1-340题汇总,希望对你有点帮助!

LeetCode刷题实战341:扁平化嵌套列表迭代器

LeetCode刷题实战342:4的幂

LeetCode刷题实战343:整数拆分

LeetCode刷题实战344:反转字符串

【c++】LeetCode345. 反转字符串中的元音字母 LeetCode345. 反转字符串中的元音字母 https://leetcode-cn.com/problems/reverse-vowels-of-a-string 编写一个函数,以字符串作为输入,反转该字符串中的元音字母。 示例 1: 输入: “hello” 输出: “holle” 示例 2: 输入: “leetcode” 输出: “leotcede” 说明: 元音字母不包含字母"y"。 指针对撞: 与125题类似(点击查看125题解),设置左右两个指针:l , r 分别指向字符串的开头和末尾,同 阅读详情

相关推荐

【LeetCode】Python实现-345. 反转字符串中的元音字母

编写一个函数,以字符串作为输入,反转该字符串中的元音字母。 示例 1: 输入: “hello” 输出: “holle” 示例 2: 输入: “leetcode” 输出: “leotcede” 说明: 元音字母不包含字母"y"。 我的解答: 先将字符串中的所有元音字母取出来,然后进行反转,再依次在原来元音字母的位置插入进去。 class Solution(object): def rev...

qq_41929011的博客 779

LeetCode——反转字符串中的元音字母

LeetCode——反转字符串中的元音字母 题目描述: 编写一个函数,以字符串作为输入,反转该字符串中的元音字母。 示例 1: 输入:“hello” 输出:“holle” 示例 2: 输入:“leetcode” 输出:“leotcede” 提示: 元音字母不包含字母 “y” 。 来源:力扣(LeetCode) 链接:https://leetcode-cn.com/problems/reverse-vowels-of-a-string 著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。 解题

weixin_45295612的博客 468

无人机+消防车:高楼灭火系统技术详解

传统的消防设备,如登高车、车载水枪、水炮和高喷车,在50米以上高度的火源面前往往力不从心,100米以上高层火灾则更加依赖消防员“爬楼”灭火,效率低下且风险极高。消防水带:采用聚乙烯丝材质,超轻、耐腐蚀、强度高,能够携带大量水或灭火泡沫进行高空喷水灭火作业。“无人机+消防车”高楼灭火系统主要由消防车和无人机两部分组成,通过机车联动实现高效灭火。高效灭火:无人机能够快速到达高层建筑顶部或指定位置进行灭火作业,大大提高了灭火效率。空压泡沫系统:配备超大水箱,支持长时间供应灭火泡沫,满足无人机灭火剂的需求。

专注多旋翼、复合翼无人机技术研究,从事低空经济行业。 1671

LeetCode345——字符串专题/双指针专题(5)反转字符串中的元音字母

反转字符串中的元音字母 编写一个函数,以字符串作为输入,反转该字符串中的元音字母。 示例 1: 输入:“hello” 输出:“holle” 示例 2: 输入:“leetcode” 输出:“leotcede” 元音字母:AEIOU (1)方法1:双指针+HashSet的contains方法 class Solution { public static String reverseVowels(String s){ HashSet set = new HashSet();

qq_32559349的博客 250

数字IC后端层次化Hierarchical Flow子系统Sub-System模块 block partition和pin assignment细节盘点

数字IC后端培训教程之Hierarchical Flow子系统block partition和pin assignment详细教程

weixin_37584728的博客 1605

java写一个多人线上聊天室

课程作业谔谔

weixin_51614848的博客 1136

LeetCode刷题之345.反转字符串中的元音字母

LeetCode刷题之349.两个数组的交集 我不知道将去向何方,但我已在路上! 时光匆匆,虽未曾谋面,却相遇于斯,实在是莫大的缘分,感谢您的到访 ! 题目: 编写一个函数,以字符串作为输入,反转该字符串中的元音字母。 示例: 示例1: 输入: "hello" 输出: "holle" 示例2: 输入: "leetcode" 输出: "leotcede" ...

胡萝卜 277

Qlib+backtrader:2014.1.1-2023.9.20最新回测结果,可以实盘吗?

今年以来,在研究了qlib和backtrader的基础上,把二者结合起来进行了一个策略研究。简单说就是用qlib在200只股票的股票池中进行滚动训练与预测(walk forward),总体数据范围是2005到2023年,以20日间隔滚动训练和预测,最终得到2014.1.1-2023.9.20共10年测试期的收益率预测结果。将预测结果代入backtrader进行回测,得到如下回测结果。

qtbgo的博客 1783

leetcode-反转字符串中的元音字母

文章目录题目代码 题目 编写一个函数,以字符串作为输入,反转该字符串中的元音字母。 示例 1: 输入: “hello” 输出: “holle” 示例 2: 输入: “leetcode” 输出: “leotcede” 说明: 元音字母不包含字母"y"。 代码 /* * @lc app=leetcode.cn id=345 lang=java * * [345] 反转字符串中的元音字母 */ ...

lingle1的博客 471

阿里云大模型ACP认证模拟考试(一)

摘要:在阿里云大模型高级工程师 ACP 认证暂无真题题库的现状下,模拟题具有重要意义。其依照真实考试设计,涵盖题型、题量与分值分布,助力考生熟悉考试框架,合理分配答题时间精力,提升效率。同时,模拟题紧扣官方课程,能帮助考生精准定位知识盲点,如大模型架构原理和通义千问应用实践等重点内容,以便针对性完善知识体系。此外,通过练习模拟题,考生可掌握不同题型的解题思维与技巧,快速洞察复杂题目本质,提高答题准确率。

davidkorhenn的博客 4743

YOLO系列算法改进 | 自研篇 | C3k2融合SEFN空间增强前馈网络模块 | 去模糊和提升图像细节特征,精度涨点!| WACV 2025

YOLO系列算法改进 | 自研篇 | C3k2融合SEFN空间增强前馈网络模块 | 去模糊和提升图像细节特征,精度涨点!| WACV 2025 (以YOLO26最新目标检测模型为基础,C3k2融合SEFN空间增强前馈网络模块改进Backbone)

2502_91881744的博客 238

【leetcode 每日一题】反转字符串中的元音字母

题目要求 编写一个函数,以字符串作为输入,反转该字符串中的元音字母。 示例1: 输入:“hello” 输出:“holle” 示例2: 输入:“leetcode” 输出:“leotcede” 个人想法: 这道题使用的是双指针算法。 交换的之后需要 i ++, j – 否则会进入死循环 题目说的是元音字母,那么也就是包括了大写和小写的所有元音字母。 class Solution { public: string reverseVowels(string s) { int i

m0_47746932的博客 252

MISRA C 详解 · 专栏06:2023 与 2025 更新总览(相对 2012 的差异)

本专栏 01~05 篇基于(143 规则 + 16 指令)。这六年间标准又前进了两步——(大改)和(微调)。本文补充说明「相对 2012,标准变在哪」,并给出新增规范的代表性示例。

XavierKong的博客 73

Java实现 LeetCode 345 反转字符串中的元音字母

345. 反转字符串中的元音字母 编写一个函数,以字符串作为输入,反转该字符串中的元音字母。 示例 1: 输入: “hello” 输出: “holle” 示例 2: 输入: “leetcode” 输出: “leotcede” 说明: 元音字母不包含字母"y"。 class Solution { public String reverseVowels(String s) { ...

南 墙 1万+

基于STM32设计的智能手环(ESP8266+华为云IOT)_178

为了满足用户对健康监测的需求,手环项目集成了血氧检测、心率检测、体温检测等功能。这些功能采用了专门的传感器模块,如MAX30102、DS18B20等,确保了测量数据的准确性和可靠性。同时,为了方便用户了解自己的运动情况,项目还加入了行走步数统计功能,通过MPU6050模块实现精确计步。

2402

怀旧版电脑GBC模拟器

再现原版GBC掌机的界面,电脑运行连游戏界面都一样大小,很怀旧,很真实,(英文版)强烈推荐,很小的文件,很难才找到的。

LeetCode第345题_反转字符串中的元音字母

本文解析LeetCode第345题"反转字符串中的元音字母",提供双指针解法及C#、Python、C++三语言实现。通过HashSet存储元音字母,双指针从两端向中间移动交换元音字母,时间复杂度O(n),空间复杂度O(1)。包含详细解题步骤、图解示例、性能对比及常见错误分析,适合初学算法的开发者掌握字符串操作技巧。

qq_40263592的博客 874

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

力扣刷题百天计划 Day9 反转字符串中的元音字母

我会持续更新我独特的算法思路,希望能给大家带来不一样的思维拓展! 如果大家感觉有帮助的话,欢迎点赞关注支持哦! 你们的鼓励是我坚持下去的动力! !!!

m0_48781656的博客 4527

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

华为的C语言编程规范.pdf

华为技术有限公司内部技术规范。本规范制定了编写C语言程序的基本原则、规则和建议。从代码的清晰、简洁、可测试、安全、程序效率、可移植各个方面对C语言编程作出了具体指导。

345. 反转字符串中的元音字母-----leetcode刷题(python解题)

题目 解答 思路: leetcode解题 题目 编写一个函数,以字符串作为输入,反转该字符串中的元音字母。 示例 1: 1输入: "hello" 2输出: "holle" ...

jixn的博客 5248

[C++]Leetcode345.反转字符串中的元音字母 (详解)

345.反转字符串中的元音字母 题目:编写一个函数,以字符串作为输入,反转该字符串中的元音字母。 示例 1: 输入: “hello” 输出: “holle” class Solution { public: //定义一个子函数来判断当前字符是否是元音字母 bool isOraigin(char m) { if(m == 'a'||m == 'e'||m == 'i'||m == 'o'||m == 'u'||m == 'A'||m == 'E'||m == 'I'

cpb____的博客 1323

LeetCode 345. 反转字符串中的元音字母

1. 题目 编写一个函数,以字符串作为输入,反转该字符串中的元音字母。 示例 1: 输入: "hello" 输出: "holle" 示例 2: 输入: "leetcode" 输出: "leotcede" 说明: 元音字母不包含字母"y"。 来源:力扣(LeetCode) 链接:https://leetcode-cn.com/problems/reverse-vowels-of-a-stri...

Michael是个半路程序员 1065

leetcode-345 | 反转字符串中的元音字母

title: leetcode-345 | 反转字符串中的元音字母 date: 2019-4-24 14:48:52 comments: true categories: “leetcode” tags: - leetcode 简单难度 345. 反转字符串中的元音字母(Reverse Vowels of a String) 编写一个函数,以字符串作为输入,反转该字符串中的元音字母。 示例1:...

梦否 511

LeetCode第345题反转字符串中的元音字母

题目来源 题目描述 编写一个函数,以字符串作为输入,反转该字符串中的元音字母。 示例 1: 输入:“hello” 输出:“holle” 示例 2: 输入:“leetcode” 输出:“leotcede” 提示: 元音字母不包含字母 “y” 代码 class Solution { public String reverseVowels(String s) { if(s == null || s.length() == 0) return s; String vowels

LiuXiaoXueer的博客 224

【基础差和我一起手撕代码,通过大厂大公司机考笔试】LeetCode经典面试75题——第5题 345. 反转字符串中的元音字母 基础方法:双指针法{让我嚼碎代码喂你 嘿嘿嘿}

本文讲解LeetCode 345题反转字符串中的元音字母。题目要求仅反转字符串中的元音字母(a/e/i/o/u大小写),其他字符位置不变。最优解法是双指针法:将字符串转为列表,使用左右指针从两端向中间遍历,找到元音后交换位置。时间复杂度O(n),空间复杂度O(n)。关键点包括:字符串转列表才能修改、元音大小写都要判断、指针移动需防越界、交换后要及时移动指针避免死循环。通过示例"hello"→"holle"演示了完整执行流程,并指出了常见错误如漏写大小写、忘记转列表等。

m0_46391680的博客 594

LeetCode题练习与总结:反转字符串中的元音字母--345

本文详细介绍了如何反转字符串中的元音字母,包括解题思路、具体代码实现、时间复杂度与空间复杂度分析,以及涉及的关键知识点,为解决此类问题提供了清晰的指导。

一直学习永不止步 795
上一篇: 真的,我现在特讨厌Safari浏览器
下一篇: SQL查询是从Select开始的吗?
编程IT圈
博客等级 码龄6年 1130粉丝 544原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值