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

举报
兔老大 发表于 2021/04/22 01:13:04 2021/04/22
【摘要】 编写一个函数,以字符串作为输入,反转该字符串中的元音字母。 示例 1: 输入: "hello" 输出: "holle" 示例 2: 输入: "leetcode" 输出: "leotcede" 说明: 元音字母不包含字母"y"。 思路:就是一趟双指针扫描。 class Solution { private final static HashSet<Character>...

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

示例 1:

输入: "hello"
输出: "holle"
示例 2:

输入: "leetcode"
输出: "leotcede"
说明:
元音字母不包含字母"y"。

思路:就是一趟双指针扫描。


  
  1. class Solution {
  2. private final static HashSet<Character> vowels = new HashSet<>(
  3. Arrays.asList('a', 'e', 'i', 'o', 'u', 'A', 'E', 'I', 'O', 'U'));
  4. public String reverseVowels(String s) {
  5. if (s == null) return null;
  6. int i = 0, j = s.length() - 1;
  7. char[] result = new char[s.length()];
  8. while (i <= j) {
  9. char ci = s.charAt(i);
  10. char cj = s.charAt(j);
  11. if (!vowels.contains(ci)) {
  12. result[i++] = ci;
  13. } else if (!vowels.contains(cj)) {
  14. result[j--] = cj;
  15. } else {
  16. result[i++] = cj;
  17. result[j--] = ci;
  18. }
  19. }
  20. return new String(result);
  21. }
  22. }

 

文章来源: fantianzuo.blog.csdn.net,作者:兔老大RabbitMQ,版权归原作者所有,如需转载,请联系作者。

原文链接:fantianzuo.blog.csdn.net/article/details/104103230

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。