按奇偶排序数组
来源:力扣(LeetCode)
链接:力扣
给你一个整数数组 nums,将 nums 中的的所有偶数元素移动到数组的前面,后跟所有奇数元素。
返回满足此条件的 任一数组 作为答案。
示例 1:
输入:nums = [3,1,2,4]
输出:[2,4,3,1]
解释:[4,2,3,1]、[2,4,1,3] 和 [4,2,1,3] 也会被视作正确答案。
示例 2:
输入:nums = [0]
输出:[0]
解答:
class Solution {
public int[] sortArrayByParity(int[] A) {
if(A == null || A.length == 1)
return A;
int left = 0;
int right = A.length - 1;
int tem;
while(left < right){
if((A[left] & 1) == 1 && (A[right] & 1) == 0){
tem = A[left];
A[left] = A[right];
A[right] = tem;
}
while((A[left] & 1) == 0){
left++;
}
while((A[right] & 1) == 1){
right--;
}
}
return A;
}
}
反转字符串中的元音字母
来源:力扣(LeetCode)
链接:力扣
给你一个字符串 s ,仅反转字符串中的所有元音字母,并返回结果字符串。
元音字母包括 'a'、'e'、'i'、'o'、'u',且可能以大小写两种形式出现。
示例 1:
输入:s = "hello"
输出:"holle"
示例 2:
输入:s = "leetcode"
输出:"leotcede"
解答:
class ReverseVowelsSolution {
public String reverseVowels(String s) {
List vowels=new ArrayList();
vowels.add('a');
vowels.add('e');
vowels.add('i');
vowels.add('o');
vowels.add('u');
char[] tempArr=s.toCharArray();
int len=s.length();
int i=0,j=len-1;
while (j>i){
char left=tempArr[i];
char right=tempArr[j];
if(!(vowels.contains(left)||vowels.contains((char)(left+32)))){
i++;
continue;
}
if(!(vowels.contains(right)||vowels.contains((char)(right+32)))){
j--;
continue;
}
tempArr[i]=right;
tempArr[j]=left;
i++;
j--;
}
return new String(tempArr);
}
}