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

345. Reverse Vowels of a String(反转字符串中的元音字母)

题目描述

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

元音字母包括 ‘a’、‘e’、‘i’、‘o’、‘u’,且可能以大小写两种形式出现不止一次。

问题分析

不要被题目迷惑了,题意是将元音字符提取出来,然后按照原因字符组成的新串将原串中的元音字符对换位置,我们可以采用双指针的方法一个指针从左向右、一个指针从右向左,遇见两个都是元音,且左指针在右指针的左边就进行对换。终止条件为左指针与右指针相遇。

代码

char* reverseVowels(char* s) {int length = 0;while(s[length++]!='\0');length--;int left = 0;int right = length-1;while(left<right){while(left<length){if(s[left]!='a'&&s[left]!='e'&&s[left]!='i'&&s[left]!='o'&&s[left]!='u'&&s[left]!='A'&&s[left]!='E'&&s[left]!='I'&&s[left]!='O'&&s[left]!='U'){left++;}else{break;}}while(right>=0){if(s[right]!='a'&&s[right]!='e'&&s[right]!='i'&&s[right]!='o'&&s[right]!='u'&&s[right]!='A'&&s[right]!='E'&&s[right]!='I'&&s[right]!='O'&&s[right]!='U'){right--;;}else{break;}}if(right>left){char t = s[left];s[left] = s[right];s[right] = t;left++;right--;}}return s;
}

提交结果截图

在这里插入图片描述

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • Leetcode 337 打家劫舍 III
  • 推荐一款开源的跨平台划词翻译和OCR翻译软件:Pot
  • Open CASCADE学习|保存为STL文件
  • thinkphp6入门(18)-- 中间件中除了handle函数,还可以有其它函数吗
  • re:从0开始的CSS学习之路 5. 颜色单位
  • 【教程】Linux使用git自动备份和使用支持文件恢复的rm命令
  • 93 log4j-slf4j-impl 搭配上 log4j-to-slf4j 导致的 StackOverflow
  • Rust语言入门小结(第1篇)
  • SQL,HQL刷题,尚硅谷
  • 【MySQL】字符串函数的学习
  • 使用代理IP有风险吗?如何安全使用代理IP?
  • STM32 硬件随机数发生器(RNG)
  • GNU C和标准C
  • Redis(十三)缓存双写一致性策略
  • 在Ubuntu22.04上部署ComfyUI
  • Computed property XXX was assigned to but it has no setter
  • Golang-长连接-状态推送
  • js
  • js学习笔记
  • LeetCode29.两数相除 JavaScript
  • Python学习之路16-使用API
  • SAP云平台运行环境Cloud Foundry和Neo的区别
  • SwizzleMethod 黑魔法
  • Vim Clutch | 面向脚踏板编程……
  • vue:响应原理
  • 搭建gitbook 和 访问权限认证
  • 搞机器学习要哪些技能
  • 好的网址,关于.net 4.0 ,vs 2010
  • 看域名解析域名安全对SEO的影响
  • 利用DataURL技术在网页上显示图片
  • 盘点那些不知名却常用的 Git 操作
  • 如何胜任知名企业的商业数据分析师?
  • 使用 @font-face
  • 试着探索高并发下的系统架构面貌
  • 一道面试题引发的“血案”
  • 在weex里面使用chart图表
  • ionic入门之数据绑定显示-1
  • 交换综合实验一
  • ​​​​​​​STM32通过SPI硬件读写W25Q64
  • ​1:1公有云能力整体输出,腾讯云“七剑”下云端
  • ​二进制运算符:(与运算)、|(或运算)、~(取反运算)、^(异或运算)、位移运算符​
  • (2)Java 简介
  • (C语言)输入自定义个数的整数,打印出最大值和最小值
  • (动手学习深度学习)第13章 计算机视觉---图像增广与微调
  • (附源码)springboot猪场管理系统 毕业设计 160901
  • (黑马C++)L06 重载与继承
  • (十六)、把镜像推送到私有化 Docker 仓库
  • (译)计算距离、方位和更多经纬度之间的点
  • (转)h264中avc和flv数据的解析
  • **PHP分步表单提交思路(分页表单提交)
  • .net core使用RPC方式进行高效的HTTP服务访问
  • .NET建议使用的大小写命名原则
  • .net下的富文本编辑器FCKeditor的配置方法
  • /deep/和 >>>以及 ::v-deep 三者的区别
  • @Import注解详解