345.反转字符串中的元音字母(Reverse Vowels of a String)
题目描述
编写一个函数,以字符串作为输入,反转该字符串中的元音字母。
示例 1:
给定 s = "hello", 返回 "holle".
示例 2:
给定 s = "leetcode", 返回 "leotcede".
注意:
元音字母不包括 "y".
解题思路
题目的意思是说,将字符串中的元音字母的顺序反转;
使用双指针,指向待反转的两个元音字符,一个指针从头向尾遍历,一个指针从尾到头遍历;
import java.util.Arrays;
import java.util.HashSet;//反转字符串中的元音字母(Reverse Vowels of a String)
public class Solution345 {private HashSet<Character> vowels =new HashSet<Character>(Arrays.asList('a', 'e', 'i', 'o', 'u', 'A', 'E', 'I', 'O', 'U'));public String reverseVowels(String s) {int i = 0, 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);}
}
345.反转字符串中的元音字母(Reverse Vowels of a String)相关推荐
- 345. 反转字符串中的元音字母
345. 反转字符串中的元音字母 给你一个字符串 s ,仅反转字符串中的所有元音字母,并返回结果字符串. 元音字母包括 'a'.'e'.'i'.'o'.'u',且可能以大小写两种形式出现. 示例 1: ...
- Java实现 LeetCode 345 反转字符串中的元音字母
345. 反转字符串中的元音字母 编写一个函数,以字符串作为输入,反转该字符串中的元音字母. 示例 1: 输入: "hello" 输出: "holle" 示例 ...
- LeetCode 345. 反转字符串中的元音字母
1. 题目 编写一个函数,以字符串作为输入,反转该字符串中的元音字母. 示例 1: 输入: "hello" 输出: "holle"示例 2: 输入: " ...
- 力扣 345. 反转字符串中的元音字母
题目 给你一个字符串 s ,仅反转字符串中的所有元音字母,并返回结果字符串. 元音字母包括 'a'.'e'.'i'.'o'.'u',且可能以大小写两种形式出现. 示例 输入:s = "hel ...
- Leetcode 345. 反转字符串中的元音字母 解题思路及C++实现
解题思路: 设置两个指针 left 和 right,大循环中的每一个循环,找到前面.后面两个元音字母,然后交换这两个元音. class Solution { public:bool whethertr ...
- 20200320:反转字符串中的元音字母(leetcode345)
反转字符串中的元音字母 题目 思路与算法 代码实现 复杂度分析 题目 思路与算法 在复习没太多时间,因此随机一道中等难度以下的题,这道是一个很简单的双指针,不需要太多想法,直接双指针实现即可. 左指针 ...
- 反转字符串中的元音字母
345. 反转字符串中的元音字母 给你一个字符串 s ,仅反转字符串中的所有元音字母,并返回结果字符串. 元音字母包括 'a'.'e'.'i'.'o'.'u',且可能以大小写两种形式出现. 示例 1: ...
- Leetcode每日一题:345.reverse-vowels-of-a-string(反转字符串中的元音字母)
思路:这道题有很多种办法解决,比如用一个vector存字符串中元音字母的索引,然后反转,或者用一个字符串res存原字符串中的元音字母(倒着存,从len-1开始遍历啊),然后遍历原字符串,把原来位置的元 ...
- 算法--------数组------反转字符串中的元音字母
编写一个函数,以字符串作为输入,反转该字符串中的元音字母.示例 1:输入: "hello" 输出: "holle" 示例 2:输入: "leetcod ...
最新文章
- Apache shutdown unexpectedly启动错误解决方法
- glove中文词向量_NLP中文文本分类任务的笔记(一)
- Directory Service Maintenance
- HttpWebRequest post上传文件
- 前端学习(1709):前端系列javascript之uniapp
- shell:判断一个进程是否存在
- 一个HTTP请求,把网站打裂开了!
- android checkbox 选中事件_挖穿Android第四十九天
- linux磁盘iops限制,linux – 我需要多少IOPS?我的工作量瓶颈是存储
- dx 汇编dec_汇编语言算术指令
- idea安装eclipse风格主题
- linux音频alsa驱动分析之一(over-view)
- 什么是STL(模板库)?STL包含的一些内容及基础含义
- 结巴分词标注兼容_ICTCLAS2008汉语词性标注集
- Tuxera Disk Manager是什么软件,Tuxera Disk Manager怎么用
- 如何在Win10系统下的IntelliJ IDEA 2018.3.5下载与安装以及激活教程
- 提交按钮在form之外的提交方式,提交按钮提交页面任意表单
- C语言实现人机五子棋
- 如何正确修改标题,如何修改标题不会被降权?
- 京东商品详情API、通过商品ID获得京东商品详情
热门文章
- 并行与分布式计算导论(七)MPI Collective Communication
- java实现马赛克,java如何用Processing生成马赛克风格的图像
- 1335 工作计划的最低难度(动态规划)
- 面试官:首屏加载速度慢怎么解决?
- C# managed, unmanaged, unsafe 的比较
- 手写签名更改为透明背景png图片
- python实现批量提取指定文件夹下同类型文件
- 拼多多砍价用户福利贴:通过python模拟操作进行拼多多砍价
- C#工控上位机实例_工控学习,搞工控的到底什么是上位机,什么是下位机?
- less 自适应高度_使用HTML5和Less框架3的自适应Web设计