leetcode-反转字符串中的元音字母

文章目录

    • 题目
    • 代码

题目

编写一个函数,以字符串作为输入,反转该字符串中的元音字母。

示例 1:

输入: “hello”
输出: “holle”
示例 2:

输入: “leetcode”
输出: “leotcede”
说明:
元音字母不包含字母"y"。

代码

/*
 * @lc app=leetcode.cn id=345 lang=java
 *
 * [345] 反转字符串中的元音字母
 */

// @lc code=start
class Solution {

    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;
	}

    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);
        

      
    }
   
}
// @lc code=end


你可能感兴趣的:(leetcode刷题)