345.反转字符串中的元音字母

   public static String reverseVowels(String s) {
    	
    	//先定义两个指针
    	int l = 0;
    	int r = s.length()-1;

    	//建立一个结果集
    	char[] reslut = new char[s.length()];
    	
    	//将元音字母存放在集合中
    	HashSet<Character> list1 = new HashSet<Character>(Arrays.asList('a', 'e', 'i', 'o', 'u', 'A', 'E', 'I', 'O', 'U'));
    	
    	//开始循环遍历
    	while(l <= r) {
    		
    		char lchar = s.charAt(l);//取出指针对应的字符
    		char rchar = s.charAt(r);
    		if(!list1.contains(lchar)) {//如果元音字母集合不存在该当前指针下的字符
    			reslut[l] = lchar; //将当前字符加入结果集
    			l++;//往后移
    		}else if(!list1.contains(rchar)){
    			reslut[r] = rchar;
    			r--;
    		}else {//如果元音字母集合同时存在该当前两个指针下的字符
				reslut[l] = rchar;//交换
				reslut[r] = lchar;
				l++;//指针移动
				r--;
			}
    	}    	
    	return new String(reslut);
    }
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值