345. Reverse Vowels of a String

Write a function that takes a string as input and reverse only the vowels of a string.

Example 1:
Given s = "hello", return "holle".

Example 2:
Given s = "leetcode", return "leotcede".

Note:
The vowels does not include the letter "y".

题目含义:反转一个字符串中的元音字母。第一个和最后一个元音字母交换,第二个和倒数第二个交换……

 

复制代码
 1     public String reverseVowels(String s) {
 2         char[] list = s.toCharArray();
 3         Set<Character> set = new HashSet<>();
 4         set.add('a');
 5         set.add('e');
 6         set.add('i');
 7         set.add('o');
 8         set.add('u');
 9         set.add('A');
10         set.add('E');
11         set.add('I');
12         set.add('O');
13         set.add('U');
14         
15         for (int i=0,j=list.length-1;i<j;)
16         {
17             if (!set.contains(list[i]))
18             {
19                 i++;continue;
20             }
21             if (!set.contains(list[j]))
22             {
23                 j--;continue;
24             }
25             
26             char temp = list[i];
27             list[i]=list[j];
28             list[j] = temp;
29             i++;
30             j--;
31         }
32         return new String(list);        
33     }
复制代码

 

posted @   daniel456  阅读(82)  评论(0编辑  收藏  举报
编辑推荐:
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
阅读排行:
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 零经验选手,Compose 一天开发一款小游戏!
· 一起来玩mcp_server_sqlite,让AI帮你做增删改查!!
点击右上角即可分享
微信分享提示