Leetcode:345. Reverse Vowels of a String

来源:互联网 发布:win7系统优化批处理 编辑:程序博客网 时间:2024/04/29 13:14

题目描述:
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”.

此题很简单,就是把字符串中的元音字母反转,但是本宝宝却把它做复杂了。大神勿喷,后面有时间会改进的。

import java.util.HashMap;import java.util.Iterator;import java.util.LinkedHashMap;public class Solution {    public String reverseVowels(String s) {        char[] a=s.toCharArray();            HashMap<Integer,String> hashMap = new LinkedHashMap<Integer, String>();             char[] temp=new char[a.length];            int k=0;            for(int i=0;i<a.length;i++){                if((a[i]=='a')||(a[i]=='A')||(a[i]=='E')||(a[i]=='I')||(a[i]=='O')||(a[i]=='U')||(a[i]=='e')||(a[i]=='i')||(a[i]=='o')||(a[i]=='u')){                    hashMap.put(i,String.valueOf(a[i]));                    temp[k]=a[i];                    k++;                }            }            char[] bb=new char[hashMap.size()];            int j=0;            for(int i=hashMap.size()-1;i>=0;i--){                bb[j]=temp[i];                j++;            }            int kk=0;            Iterator iterator=hashMap.keySet().iterator();            while(iterator.hasNext()){                Integer key=(Integer) iterator.next();                a[key]=bb[kk];                kk++;            }            return String.valueOf(a);    }}
0 0