题目描述

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

示例 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)相关推荐

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

    345. 反转字符串中的元音字母 给你一个字符串 s ,仅反转字符串中的所有元音字母,并返回结果字符串. 元音字母包括 'a'.'e'.'i'.'o'.'u',且可能以大小写两种形式出现. 示例 1: ...

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

    345. 反转字符串中的元音字母 编写一个函数,以字符串作为输入,反转该字符串中的元音字母. 示例 1: 输入: "hello" 输出: "holle" 示例 ...

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

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

  4. 力扣 345. 反转字符串中的元音字母

    题目 给你一个字符串 s ,仅反转字符串中的所有元音字母,并返回结果字符串. 元音字母包括 'a'.'e'.'i'.'o'.'u',且可能以大小写两种形式出现. 示例 输入:s = "hel ...

  5. Leetcode 345. 反转字符串中的元音字母 解题思路及C++实现

    解题思路: 设置两个指针 left 和 right,大循环中的每一个循环,找到前面.后面两个元音字母,然后交换这两个元音. class Solution { public:bool whethertr ...

  6. 20200320:反转字符串中的元音字母(leetcode345)

    反转字符串中的元音字母 题目 思路与算法 代码实现 复杂度分析 题目 思路与算法 在复习没太多时间,因此随机一道中等难度以下的题,这道是一个很简单的双指针,不需要太多想法,直接双指针实现即可. 左指针 ...

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

    345. 反转字符串中的元音字母 给你一个字符串 s ,仅反转字符串中的所有元音字母,并返回结果字符串. 元音字母包括 'a'.'e'.'i'.'o'.'u',且可能以大小写两种形式出现. 示例 1: ...

  8. Leetcode每日一题:345.reverse-vowels-of-a-string(反转字符串中的元音字母)

    思路:这道题有很多种办法解决,比如用一个vector存字符串中元音字母的索引,然后反转,或者用一个字符串res存原字符串中的元音字母(倒着存,从len-1开始遍历啊),然后遍历原字符串,把原来位置的元 ...

  9. 算法--------数组------反转字符串中的元音字母

    编写一个函数,以字符串作为输入,反转该字符串中的元音字母.示例 1:输入: "hello" 输出: "holle" 示例 2:输入: "leetcod ...

最新文章

  1. Apache shutdown unexpectedly启动错误解决方法
  2. glove中文词向量_NLP中文文本分类任务的笔记(一)
  3. Directory Service Maintenance
  4. HttpWebRequest post上传文件
  5. 前端学习(1709):前端系列javascript之uniapp
  6. shell:判断一个进程是否存在
  7. 一个HTTP请求,把网站打裂开了!
  8. android checkbox 选中事件_挖穿Android第四十九天
  9. linux磁盘iops限制,linux – 我需要多少IOPS?我的工作量瓶颈是存储
  10. dx 汇编dec_汇编语言算术指令
  11. idea安装eclipse风格主题
  12. linux音频alsa驱动分析之一(over-view)
  13. 什么是STL(模板库)?STL包含的一些内容及基础含义
  14. 结巴分词标注兼容_ICTCLAS2008汉语词性标注集
  15. Tuxera Disk Manager是什么软件,Tuxera Disk Manager怎么用
  16. 如何在Win10系统下的IntelliJ IDEA 2018.3.5下载与安装以及激活教程
  17. 提交按钮在form之外的提交方式,提交按钮提交页面任意表单
  18. C语言实现人机五子棋
  19. 如何正确修改标题,如何修改标题不会被降权?
  20. 京东商品详情API、通过商品ID获得京东商品详情

热门文章

  1. 并行与分布式计算导论(七)MPI Collective Communication
  2. java实现马赛克,java如何用Processing生成马赛克风格的图像
  3. 1335 工作计划的最低难度(动态规划)
  4. 面试官:首屏加载速度慢怎么解决?
  5. C# managed, unmanaged, unsafe 的比较
  6. 手写签名更改为透明背景png图片
  7. python实现批量提取指定文件夹下同类型文件
  8. 拼多多砍价用户福利贴:通过python模拟操作进行拼多多砍价
  9. C#工控上位机实例_工控学习,搞工控的到底什么是上位机,什么是下位机?
  10. less 自适应高度_使用HTML5和Less框架3的自适应Web设计