博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
345. Reverse Vowels of a String【Easy】【双指针-反转字符串中的元音字符】
阅读量:6643 次
发布时间:2019-06-25

本文共 1852 字,大约阅读时间需要 6 分钟。

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

Example 1:

Input: "hello"Output: "holle"

Example 2:

Input: "leetcode"Output: "leotcede"

Note:

The vowels does not include the letter "y".

 

Accepted
142,249
Submissions
348,669
 
import java.util.Arrays;import java.util.HashSet;class Solution {        private final static HashSet
vowels = new HashSet<>(Arrays.asList('a', 'e', 'i', 'o', 'u', 'A', 'E', 'I', 'O', 'U')); public String reverseVowels(String s) { int len = s.length(); int i = 0, j = len - 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); // } }

 

import java.util.Arrays;import java.util.HashSet;class Solution {    public String reverseVowels(String s) {        if(s == null || s.length() == 0) return s;        int i = 0, j = s.length() - 1;        char[] str = s.toCharArray();        while(i < j) {            if(isVolwe(str[i]) && isVolwe(str[j])) {                char tmp = str[i];                str[i] = str[j];                str[j] = tmp;                i++;                j--;            }            else if(!isVolwe(str[i])) {                i++;            } else {                j--;            }        }        return new String(str);    }    private boolean isVolwe(char ch) {        ch = Character.toLowerCase(ch);        return ch == 'a' || ch == 'e' || ch == 'i' || ch == 'o' || ch == 'u';     }}

 

转载于:https://www.cnblogs.com/Roni-i/p/10426923.html

你可能感兴趣的文章
并行开发 —— 第二篇 Task的使用
查看>>
"百年一遇"奇怪问题的进展:找到原因,ajax请求中断引起
查看>>
读书清单+Github打造属于自己的简历
查看>>
Flex结合java实现一个登录功能
查看>>
关于几道面试的题目
查看>>
SQL Server发送邮件的存储过程
查看>>
【java】eclipse从数据库逆向生成Hibernate实体类
查看>>
make:commands commence before first target
查看>>
一个很强大很好用的报表统计插件
查看>>
A+B for Input-Output Practice (II)
查看>>
Qt Widget Gallery
查看>>
HBase图形界面管理工具HBaseXplorer发布1.0.2
查看>>
精美高清壁纸:2013年1月桌面日历壁纸免费下载
查看>>
Extjs Dom
查看>>
air 加载本地图片
查看>>
new与delete
查看>>
xtoi (Hex to Integer) C function - Nanoseconds Network
查看>>
如何识别移动硬盘
查看>>
T400换风扇解决开机fan error问题
查看>>
Unitils+hibernate+Spring+PostgreSql做dao层测试遇到的错误
查看>>