LeetCode:反转字符串中的元音字母【345】
题目描述
编写一个函数,以字符串作为输入,反转该字符串中的元音字母。
示例 1:
输入: "hello" 输出: "holle"
示例 2:
输入: "leetcode" 输出: "leotcede"
说明:
元音字母不包含字母"y"。
题目分析
所谓的做题就是把以前背下来的拿过来改一下即可。双指针碰撞模型,之前已经描述过很多次了,此处不在赘述。
知道AEIOU是元音字母?左右指针所指向元素交换一下位置即可。
Java题解
class Solution { public String reverseVowels(String s) { char[] arr = s.toCharArray(); int left =0; int right =arr.length-1; while(left<right) { while(!isYuanYin(s.charAt(left))&&left<right) left++; while(!isYuanYin(s.charAt(right))&&left<right) right--; swap(left,right,arr); left++;right--; } return new String(arr); } public boolean isYuanYin(char c) { if(c==‘a‘||c==‘e‘||c==‘i‘||c==‘o‘||c==‘u‘) return true; if(c==‘A‘||c==‘E‘||c==‘I‘||c==‘O‘||c==‘U‘) return true; return false; } public void swap(int i,int j,char[] arr) { char tmp = arr[i]; arr[i] =arr[j]; arr[j]=tmp; } }
原文地址:https://www.cnblogs.com/MrSaver/p/9692909.html
时间: 2024-10-27 13:18:31