题目描述:将字符串中的元音进行颠倒
解题思路:使用两个List记录元音及其位置,然后颠倒即可
重点:char[] 转化为string
public class Solution {
public string ReverseVowels(string s) {
List<char> vowels = new List<char>();
List<int> pos = new List<int>();
for (int i = 0; i < s.Length; i++)
{
if (s[i] == 'a' || s[i] == 'e' || s[i] == 'i' || s[i] == 'o' || s[i] == 'u'||s[i]=='A'||s[i]=='E'||s[i]=='I'||s[i]=='O'||s[i]=='U')
{
vowels.Add(s[i]);
pos.Add(i);
}
}
if (vowels.Count == 0 || vowels.Count == 1)
return s;
else
{
int length=vowels.Count;
char[] sCopy=s.ToCharArray();
for (int i = 0; i < pos.Count; i++)
sCopy[pos[i]] = vowels[length - 1 - i];
return new string(sCopy);
}
}
}