标签:
/* * 345. Reverse Vowels of a String * 2016-7-11 by Mingyang * 这个几个注意的地方,第一就是交换以后ij分别加减 * i的while循环里面不能出边界,j也一样 * ij出来以后必须要判断i大于等于j的情况,直接跳出,不然会重新把两个换回来的 */ public static String reverseVowels(String s) { int len=s.length(); if(s==null||len==0) return ""; HashSet<Character> set=new HashSet<Character>(); set.add(‘a‘); set.add(‘A‘); set.add(‘e‘); set.add(‘E‘); set.add(‘i‘); set.add(‘I‘); set.add(‘o‘); set.add(‘O‘); set.add(‘u‘); set.add(‘U‘); int i=0; int j=len-1; char[] array=s.toCharArray(); while(i<j){ while(!set.contains(array[i])&&i<len-1){ i++; } while(!set.contains(array[j])&&j>0){ j--; } if(i>=j) break; char temp=array[i]; array[i]=array[j]; array[j]=temp; i++; j--; } return new String(array); }
345. Reverse Vowels of a String
标签:
原文地址:http://www.cnblogs.com/zmyvszk/p/5662431.html