Leetcode 345 Reverse Vowels in a String
2024-09-06 12:09:27
两个for
第一个for将每一个元音依次存放进一个char数组
第二个for,每检测到元音,就从char数尾部开始,依次赋值
如何检测元音呢?当然写一个冗长的if(),不过我们有更好的选择
hashset的contains,
或者String自带的contains,
或者建一个int[128],因为元音有5个,算上大小写,一共10个,他们的ascii值都在128以内,然后将元音对应的int[]值设为1,其它设为0,只要检测int[strs[i]] ?= 0即可判断是否为元音
class Solution {
public String reverseVowels(String s) {
if(s.length() == 0)
return ""; String v = "aeiouAEIOU";
char[] vowel = new char[s.length()];
char[] s2 = s.toCharArray();
int idx = 0; for(int i=0; i<s.length(); i++){
if(v.contains(s.charAt(i)+""))
vowel[idx++] = s.charAt(i);
} for(int i=0; i<s.length(); i++){
if(v.contains(s.charAt(i)+""))
s2[i] = vowel[--idx]; }
return new String(s2);
}
}
最新文章
- css选择器
- 发现 OpenStack: 架构、功能和交互
- Sharepoint2012 Report权限
- URAL 1936 Roshambo 题解
- JSP/Servlet 中的汉字编码问题
- C++ 学习笔记(一)
- ActiveMQ 集群(1)
- 如何快速正确的安装 Ruby, Rails 运行环境
- HAproxy健康检查的三种方式
- ABP PUT、DELETE请求错误405.0 - Method Not Allowed 因为使用了无效方法(HTTP 谓词) 引发客户端错误 No &#39;Access-Control-Allow-Origin&#39; header is present on the requested resource
- 调出js控制台可以在浏览器地址栏输入about:blank
- Markdown中特殊字符的转义字符
- idea 优先引用项目代码,而非jar包
- February 28th, 2018 Week 9th Wednesday
- Intellij Idea 2017创建web项目及tomcat部署实战
- java io系列13之 BufferedOutputStream(缓冲输出流)的认知、源码和示例
- matplotlib 与 seaborn 中出现中文乱码的解决方法
- dispatch_barrier_async,加锁
- 微信小程序在当前页面设置其他页面的数据
- php正则表达式的三个最基本原则分享