反转字符串中的元音字母

反转字符串中的元音字母_第1张图片

	public String reverseVowels(String s)
	{
		int i = 0;
		int j = s.length()-1;
		
		char c;
		char[] ss = s.toCharArray();
		while (i < j)
		{
			while (i < j && containsVowels(ss[i]))
				i++;
			while (i < j && containsVowels(ss[j]))
				j--;
			
			if (i < j)
			{
				swap(ss, i, j);
				i++;
				j--;
			}
		}
		return new String(ss);
	}
	
	boolean containsVowels(char c)
	{
		if (c == 'a' || c == 'e' || c == 'i'|| c == 'o' || c == 'u'||
			c == 'A' || c == 'E' || c == 'I'|| c == 'O' || c == 'U')
			return false;
		return true;
	}
	
	void swap(char[] s, int i, int j)
	{
		char c = s[i];
		s[i] = s[j];
		s[j] = c;
	}

 

你可能感兴趣的:(双指针,算法)