LeetCode - 345. Reverse Vowels of a String
来源:互联网 发布:域服务器软件分发 编辑:程序博客网 时间:2024/06/05 11:17
题目:
Write a function that takes a string as input and reverse only the vowels of a string.
思路与步骤:
1. 找出源字符串中的元音字母;
2. 为了只遍历一次,需要每次都找出当前的第一个和最后一个元音字母,并进行交换。
步骤:
1. 写一个方法来判断是否是元音字母;
2. 当字符串为空是返回空;
3. 找到第一个和最后一个元音字母;
4. 交换。
编程基础:
1. java中将字符串转化成字符数组:str.toCharArray();
2. java中将字符数组转化成字符串:new String(sArray);
3. 复习了Arraylist;
4. 学习了Stack;
5. switch-case语句,注意——符合条件的case语句重叠在一起,形成多重匹配。
Java程序实现:
public class Solution { public boolean isVowel(char c){ boolean result = false; switch(c){ //符合条件的case语句重叠在一起,形成多重匹配,判断是不是元音 case 'a': case 'e': case 'i': case 'o': case 'u': case 'A': case 'E': case 'I': case 'O': case 'U': result = true; break; default: result = false; } return result; } public String reverseVowels(String s) { int slen = s.length(); if(slen == 0) return ""; char [] sArray = s.toCharArray(); for(int i=0, j=slen-1; i<slen && j>=0 && i<=j; ){ while(!isVowel(sArray[i]) && i<j) i++; while(!isVowel(sArray[j]) && i<j) j--; if(isVowel(sArray[i]) && isVowel(sArray[j])){ char tmp = sArray[i]; sArray[i] = sArray[j]; sArray[j] = tmp; } i++; j--; } return new String(sArray); }}
0 0
- LeetCode 345. Reverse Vowels of a String
- leetcode-345. Reverse Vowels of a String
- #leetcode#345. Reverse Vowels of a String
- [leetcode] 345. Reverse Vowels of a String
- Leetcode:345. Reverse Vowels of a String
- LeetCode *** 345. Reverse Vowels of a String
- LeetCode.345. Reverse Vowels of a String
- LeetCode 345. Reverse Vowels of a String
- Leetcode 345. Reverse Vowels of a String
- LeetCode 345. Reverse Vowels of a String
- 345.[LeetCode]Reverse Vowels of a String
- Leetcode 345. Reverse Vowels of a String
- LeetCode 345. Reverse Vowels of a String
- leetcode 345. Reverse Vowels of a String
- 【leetcode】345. Reverse Vowels of a String
- LeetCode-345.Reverse Vowels of a String
- LeetCode - 345. Reverse Vowels of a String
- [Leetcode]345. Reverse Vowels of a String
- 建立连接池连接数据库
- BRIEF描述子生成算法
- 回文串
- Flink实时营销分析--数据部分--项目背景(一)
- CCF201503-3 节日(100分)
- LeetCode - 345. Reverse Vowels of a String
- 蓝桥杯 回文数
- 修改WCF的默认序列化格式
- Manacher算法笔记
- (函数题)4-8 简单阶乘计算
- 网页涂鸦插件
- Codeforces Round #395 (Div. 2) C. Timofey and a tree (树的基础应用)
- DBCP连接池连接数据库
- 51Nod - 1101 背包