问题:
345. Reverse Vowels of a String
问题描述:
仅翻转字符串中的元音字母。
自己写的:(java)
public class Solution {
public String reverseVowels(String s) {
String[] strSSplitArray = s.split("");
int newArrayTag = 0;
List<String> strNewSplitArray = new ArrayList<String> ();
for (int i = 0; i < strSSplitArray.length; i++) {
if (strSSplitArray[i].equals("a") || strSSplitArray[i].equals("e") || strSSplitArray[i].equals("i") || strSSplitArray[i].equals("o") || strSSplitArray[i].equals("u") || strSSplitArray[i].equals("A") || strSSplitArray[i].equals("E") || strSSplitArray[i].equals("I") || strSSplitArray[i].equals("O") || strSSplitArray[i].equals("U")) {
strNewSplitArray.add(strSSplitArray[i]);
strSSplitArray[i] = "\t";
newArrayTag = newArrayTag + 1;
}
}
newArrayTag = newArrayTag - 1;
StringBuffer strResult = new StringBuffer();
for (int i = 0; i < strSSplitArray1.length; i++) {
if (strSSplitArray[i].equals("\t")) {
strSSplitArray[i] = strNewSplitArray.get(newArrayTag);
if (newArrayTag != 0) {
newArrayTag = newArrayTag - 1;
}
}
strResult. append(strSSplitArray1[i]);
}
String newStrResult = strResult.toString();
return newStrResult;
}
}
更加简洁的算法:
……