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

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

给你一个字符串 s ,仅反转字符串中的所有元音字母,并返回结果字符串。

元音字母包括 ‘a’、‘e’、‘i’、‘o’、‘u’,且可能以大小写两种形式出现不止一次。
地址:https://leetcode.cn/problems/reverse-vowels-of-a-string/?envType=study-plan-v2&envId=leetcode-75

实现思路:构造一个栈用于保存字符串s中的元音字母,再遍历字符串若为元音字母则从栈中取元素,反之从原字符串中取元素。

// 辅助函数用于判断是否是元音字母
func isVowel(ch uint8) bool {
	if ch == 'A' || ch == 'a' || ch == 'E' || ch == 'e' || ch == 'I' || ch == 'i' || ch == 'O' || ch == 'o' || ch == 'U' || ch == 'u' {
		return true
	}
	return false
}
func reverseVowels(s string) string {
	res := ""
	stack := []uint8{}
	for i := 0; i < len(s); i++ {
		if isVowel(s[i]) {
			stack = append(stack, s[i])
		}
	}
	index := len(stack) - 1
	for i := 0; i < len(s); i++ {
		if isVowel(s[i]) {
			res += string(stack[index])
			index--
			continue
		}
		res += string(s[i])
	}

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

相关推荐

在Mac上搭建本地AI工作流:Dify与DeepSeek的完美结合

本文介绍了在Mac上搭建本地AI工作流的方法,结合Dify平台和DeepSeek模型。Dify是一个开源的大语言模型应用开发平台,支持可视化AI应用开发。部署步骤包括:1)安装Homebrew和Docker;2)克隆Dify代码库;3)配置环境变量并启动服务。同时,使用Ollama工具本地部署DeepSeek模型,将其集成到Dify中创建聊天助手。通过配置模型接口和新建应用,用户可以在本地环境中实现AI对话功能。这种方案既保证了数据隐私,又提供了灵活的AI应用开发能力。

Linda的自动化测试之旅 1535

【简单】力扣算法题解析LeetCode345:反转字符串中的元音字母

LeetCode 345 题要求反转字符串中的元音字母(含大小写),保持非元音字母位置不变。使用双指针法高效实现:初始化左右指针分别从首尾扫描,跳过非元音字符,当两指针均指向元音时交换,直至指针相遇。时间复杂度 O(n),空间复杂度 O(n)(字符数组存储)。关键点包括元音判断、指针移动逻辑及边界处理(如无元音或空字符串)。Java 实现通过预定义元音集合优化判断,确保一次遍历完成操作。

ylumwd的博客 322

AI 与新媒体

AI重构新媒体生态:从生产到分发的全链路变革 AI正成为新媒体领域的核心基础设施,通过五大能力重塑内容产业:自动化生产(AIGC写作/制图/剪辑效率提升5-10倍)、智能分发(算法精准匹配用户)、数据洞察(实时舆情分析)、风险管控(审核效率提升12倍)和运营优化(A/B测试自动化)。这推动行业从"人找内容"转向"内容找人",制作成本下降90%的同时,也带来同质化加剧、版权争议和职业重构等挑战。当前阶段,人机协同成为主流——AI处理标准化生产,人类专注创意与价值观把控。

eastyuxiao的专栏 379

Leetcode345(力扣345):反转字符串中的元音字母

思路:搞清元音字母有哪些的情况下就变成了很简单的问题了,前后双指针遍历判断,进行交换 class Solution { public: string reverseVowels(string s) { if(s.empty()) return s; int p1=0; int p2=s.size()-1; while(p1<=p2) { if(check(s[p1])&

weixin_44537258的博客 295

RTL优化与PPA分析:数字电路设计的关键技术

在数字集成电路设计中,RTL(寄存器传输级)优化是提升芯片性能、降低功耗和减小面积的核心技术。通过PPA(Power-Performance-Area)指标的平衡,工程师可以在不同时序约束下实现设计的最优化。本文基于Synopsys Design Compiler和开源工具Yosys的实验数据,展示了RTL优化在算术单元和控制逻辑中的显著效果,特别是在乘法器和除法器等复杂运算模块中。文章还探讨了AI辅助工具在RTL优化中的应用潜力,为数字电路设计提供了实用的技术参考和工程实践建议。

weixin_42186387的博客 619

GCJ02坐标系转WGS84坐标系(已实地测试基本无偏差)

坐标系转化,GCJ02坐标系,WGS84坐标系

Xiao_XianYu_的博客 1854

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

告别PS串口焦虑:深入解析AXI Uartlite IP核如何将ZYNQ PL任意引脚变成串口(从Vivado约束到驱动文件全解析)

本文深入解析AXI Uartlite IP核如何将ZYNQ PL任意引脚变成串口,从Vivado约束到驱动文件全解析。通过AXI Uartlite IP核,开发者可以突破PS端UART数量限制,实现高效串口通信。文章详细介绍了IP核架构、Vivado工程配置、驱动开发及调试技巧,帮助开发者快速掌握这一技术。

weixin_33736649的博客 464

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

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

qq_40263592的博客 872

【ARXML专题】-2-创建一个Classic CAN(经典CAN2.0)/CANFD的系统描述ARXML文件

目录 1 创建一个AUTOSAR系统描述 2 物理层命名以及创建ECU 3 新建一个Frame 4 新建一个PDU 5 新建一个signal 6 结尾 AUTOSAR System Description Network Explorer是一个文件编辑器,支持可视化和编辑系统描述的AUTOSAR系统描述文件和ECU摘录的通信内容,它支持架构版本4.0.3、4.1.2、4.2.1、4.2.2和4.3.0。AUTOSAR系统描述(ARXML)文件是基于XML的文件格式,描述网络通信的元素...

「汽车电子助手」的博客 1万+

Qualcomm 常用NV列表

^ NV ITEM ^ 功能^^ |NV10 |mode prefer,找网模式|新平台使用NV80000| ^NV74 NV74=0关闭自动接听电话^ |NV240 |NV240=FALSE|EVDO出现网络的问题,此项必须设定为FALSE| |NV255 |CDMA规避网络列表(SID/NID号)| |NV256 |

sdrgtywretyeruet的专栏 5767

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

反转字符串中的元音字母-力扣345 问题描述 给你一个字符串 s ,仅反转字符串中的所有元音字母,并返回结果字符串。 元音字母包括 ‘a’、‘e’、‘i’、‘o’、‘u’,且可能以大小写两种形式出现。 示例1 输入:s = “hello” 输出:“holle” 示例2 输入:s = “leetcode” 输出:“leotcede” 提示 1 <= s.length <= 3 * 105 s 由 可打印的 ASCII 字符组成 思路分析 采取从两边向中间搜索的策略 p,q分别记录从前搜索和从后

Pretend的博客 322

面向可扩展的 ABAP CDS:EXTEND VIEW 全面实战与工程化指引

摘要: 本文深入讲解ABAP CDS的EXTEND VIEW功能,帮助开发者在标准或自建模型上安全扩展字段与关联。核心内容包括: 作用:避免直接修改标准CDS,通过轻量扩展添加业务字段和关联,降低维护风险。 语法要点:需定义CDS扩展实体名和Dictionary Append View名,支持添加普通字段、关联,但不允许聚合或修改原有结构。 限制:不能扩展含聚合、UNION的视图,且扩展字段需避免命名冲突。 工程实践:建议使用客户命名空间,区分结构扩展与元数据扩展,并注意功能性变更需通过其他方式实现。 示例

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 393

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

LeetCode 345反转字符串中的元音字母 题目简述:编写一个函数,以字符串作为输入,反转该字符串中的元音字母。 输入:“hello” 输出:“holle” 输入:“leetcode” 输出:“leotcede” 思路:双指针扫描O(n) 用两个指针分别从首尾开始往中间扫描,扫描过程中忽略所有不是元音的字母,然后交换两个指针指向的字符,直到两个指针相遇为止 class Solution { public: string reverseVowels(string s

XBlog 160

Probability and Statistics - 4th edition

Probability and Statistics - 4th edition

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

LeetCode #345 反转字符串中的元音字母 双指针

LeetCode #345 反转字符串中的元音字母 题目描述 编写一个函数,以字符串作为输入,反转该字符串中的元音字母。 示例 1: 输入: "hello" 输出: "holle" 示例 2: 输入: "leetcode" 输出: "leotcede" 说明: 元音字母不包含字母"y"。 思路分析 使用双指针,双向收缩,当两个指针都遍历到元音字符的时候交换。为了快速判断一个字符是不是元音字符,...

阿玮的博客 201

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

Leetcode 345. 反转字符串中的元音字母 C++

Leetcode 345. 反转字符串中的元音字母 题目 编写一个函数,以字符串作为输入,反转该字符串中的元音字母。 测试样例 示例 1: 输入: "hello" 输出: "holle" 示例 2: 输入: "leetcode" 输出: "leotcede" 说明: 元音字母不包含字母"y"。 题解 双指针,头尾指针找元音字母,交换即可。详细过程见代码 代码 bool isY(char x){ if(x>='A' && x<='Z') x += 'a'-

weixin_43750513的博客 346

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

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

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

胡萝卜 276

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) 345. 反转字符串中的元音字母

题目链接 题解 这题并没有很难,只要用两个指针,一个从头开始走,一个从尾巴开始走,然后碰到元音就停下来交换就好了 代码 class Solution { public: string reverseVowels(string s) { int i=0; int j=s.size()-1; while(i<j) { while(i<j&&s[i]!='a'&&amp.

silentdeathdance的博客 243

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

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

南 墙 1万+

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

LeetCode题目[345]要求反转字符串中的元音字母。我们可以用双指针方法来解决这个问题。

m0_49013185的博客 353

反转字符串中的元音字母--力扣345题

反转字符串中的元音字母: 元音字母的第一个变成倒数第一个,第二个变成倒数第二个… 也就是第一个和最后一个交换,第二个和倒数第二个交换… 如果我们设置两个指针分别为 left ,right,分别指向元音字母的第一个和最后一个,两只针同时向前移动,那么每次两只针指向的字母就是需要交换的两个。 先判断,后交换,在找到元音字母之前指针一直在移动 class Solution42 { public String reverseVowels(String s) { int left=0;

lhyyayayaya的博客 407

LeetCode力扣刷题:345.反转字符串中的元音字母

正向遍历str一遍,用vector录入所有元音字母,再反向遍历str一遍,将vector中的字符正序填入str的元音字符位。

Emily_loves_code的博客 198

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

难度:简单⭐️⭐️⭐️。

快乐的小小程序猿 215

leetcode345. 反转字符串中的元音字母

编写一个函数,以字符串作为输入,反转该字符串中的元音字母。 示例 1: 输入: "hello" 输出: "holle" 示例 2: 输入: "leetcode" 输出: "leotcede" 说明: 元音字母不包含字母"y"。 思路:就是一趟双指针扫描。 class Solution { private final static HashSet<Character>...

少说,多做。 3021

#力扣 LeetCode345. 反转字符串中的元音字母 @FDDLC

题目描述: https://leetcode-cn.com/problems/reverse-vowels-of-a-string/ Java代码: class Solution { public String reverseVowels(String s) { char[] a=s.toCharArray(); boolean[] b=new boolean[128]; for(int e:new int[]{'a','e','i','.

LiuXingchang的博客 251
上一篇: 使用Air对go项目实现热加载(Windows版)
下一篇: LeetCode-151. 反转字符串中的单词
Wenhao.
博客等级 码龄4年 77粉丝 61原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值