Reverse Vowels of a String
2016-04-29 22:57
477 查看
https://leetcode.com/problems/reverse-vowels-of-a-string/
给定一个字符串,字符串两端属于元音字母的字符互换位置;
C代码:
Java代码:
给定一个字符串,字符串两端属于元音字母的字符互换位置;
C代码:
char* reverseVowels(char* s) { int start = 0; int end = strlen(s)-1; char lChar; char rChar; int i = start,j = end; while(i < j) { while(i <= end) { if(s[i] == 'U' || s[i] == 'A' || s[i] == 'E' || s[i] == 'I' || s[i] == 'O' || s[i] == 'a' || s[i] == 'e' || s[i] == 'i' || s[i] == 'o' || s[i] == 'u') { lChar = s[i]; break; } i++; } while(j >= 0) { if(s[j] == 'U' || s[j] == 'A' || s[j] == 'E' || s[j] == 'I' || s[j] == 'O' || s[j] == 'a' || s[j] == 'e' || s[j] == 'i' || s[j] == 'o' || s[j] == 'u') { rChar = s[j]; break; } j--; } if(i < j) { s[i] = rChar; s[j] = lChar; i++; j--; } } return s; }
Java代码:
public class Solution { public String reverseVowels(String s) { int start = 0; int end = s.length() - 1; int i = start,j = end; char temp; char[] str = s.toCharArray(); while(i < j) { while(i <= end) { if(str[i] == 'U' || str[i] == 'A' || str[i] == 'E' || str[i] == 'I' || str[i] == 'O' || str[i] == 'a' || str[i] == 'e' || str[i] == 'i' || str[i] == 'o' || str[i] == 'u') { break; } i++; } while(j >= 0) { if(str[j] == 'U' || str[j] == 'A' || str[j] == 'E' || str[j] == 'I' || str[j] == 'O' || str[j] == 'a' || str[j] == 'e' || str[j] == 'i' || str[j] == 'o' || str[j] == 'u') { break; } j--; } if(i < j) { temp = str[i]; str[i] = str[j]; str[j] = temp; i++; j--; } } return String.valueOf(str); } }
相关文章推荐
- 关联容器
- boot2docker.iso无法下载
- 学习进度08
- STL容器元素应满足的条件
- 关于形如--error LNK2005: xxx 已经在 msvcrtd.lib ( MSVCR90D.dll ) 中定义--的问题分析解决
- PAT-B 1029. 旧键盘
- 关于形如--error LNK2005: xxx 已经在 msvcrtd.lib ( MSVCR90D.dll ) 中定义--的问题分析解决
- 基础卷_异常篇 第11集 异常--总结2补充
- 十进制转2-9进制
- 耐撕团队_抢答器_产品下载地址
- 【BZOJ1449】[JSOI2009]球队收益【最小费用最大流】【单调增函数建图】
- Go语言截取字符串
- 耐撕团队_抢答器_产品下载地址
- PC Android IOS资料同步更新
- 自定义控件三部曲之绘图篇(十一)——Paint之setXfermode(二)
- 百度副总裁王湛被开除
- 百度副总裁王湛被开除
- AVL树的实现
- BZOJ 4517: [Sdoi2016]排列计数 错排+逆元
- 如何使用java语言遍历数组