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

  

最新文章

  1. 基于Vue2.0的单页面开发方案
  2. asp.net mvc 多级文件夹
  3. EL函数以及自定义标签的应用
  4. opencv的问题
  5. 托马斯微积分答案.djvu的书签
  6. 20145212 实验五《Java网络编程》
  7. JavaScript的面临的9个陷阱
  8. Android实现Banner界面广告图片循环轮播(包括实现手动滑动循环)
  9. 二、JavaScript语言--JS实践--倒计时效果
  10. Learning with Trees
  11. ScrollView图片分页显示-简单
  12. Android-Socket传输 GPRS网络
  13. vmware 网络连接
  14. 成为 Linux 内核高手的四个方法
  15. 用vue开发一个app(2,main.js)
  16. Java Spring Boot VS .NetCore (四)数据库操作 Spring Data JPA vs EFCore
  17. AAPTEXECPTION
  18. 5日均线MACD
  19. codevs 3083 二叉树
  20. MySQL优化技巧之四:mysql数据库开发常见问题及优化[转]

热门文章

  1. 使用TP自带缓存时。出现第一次拿不到数据。
  2. PHP中session详解
  3. TCP/IP详解 卷一(第十三章 IGMP:Internet组管理协议)
  4. .net 取当前代码的行号及类名称
  5. python按行读取apk中版本号、包名等信息
  6. 哇哦!恍然大悟般的“share”功能的实现!
  7. Selenium3.14.1+Python安装和第一个Demo
  8. 为什么返回的数据前面有callback? ashx/json.ashx?的后面加 callback=? 起什么作用 js url?callback=xxx xxx的介绍 ajax 跨域请求时url参数添加callback=?会实现跨域问题
  9. 读书报告之《改动代码的艺术》 (I)
  10. Dijkstra 算法——计算有权最短路径(边有权值)