母音字母的反轉----java實現
阿新 • • 發佈:2019-01-10
Write a function that takes a string as input and reverse only the vowels of a string.
Example 1:
Given s = "hello", return "holle".
Example 2:
Given s = "leetcode", return "leotcede".
Subscribe to see which companies asked this question
程式碼一:
package com.study; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; /******************************************************************* * 功能描述: * 建立資訊:jtm 2016-4-25 * 修改資訊: ********************************************************************/ public class Solution { public static String reverseVowels(String s) { char[] c=s.toCharArray(); char[] c2=new StringBuffer(s).reverse().toString().toCharArray(); char[] temp =new char[c2.length]; int count=0; for(int i=0;i<c2.length;i++){<span style="font-family: Arial, Helvetica, sans-serif;">//依次獲取反轉後的原音 if(c2[i]=='a'||c2[i]=='A'||c2[i]=='e'||c2[i]=='E'||c2[i]=='i'||c2[i]=='I'||c2[i]=='o' ||c2[i]=='O'||c2[i]=='u'||c2[i]=='U'){ temp[count++]=c2[i]; } } int count2=0; for(int i=0;i<c.length;i++){<span style="font-family: Arial, Helvetica, sans-serif;">//替換 if(c[i]=='a'||c[i]=='A'||c[i]=='e'||c[i]=='E'||c[i]=='i'||c[i]=='I'||c[i]=='o' ||c[i]=='O'||c[i]=='u'||c[i]=='U'){ c[i]=temp[count2++]; } } return new String(c); } public static void main(String[] args) throws IOException { BufferedReader br=new BufferedReader(new InputStreamReader(System.in)); String s=null; s=br.readLine(); System.out.print(reverseVowels(s)); } }
程式碼二:
package com.study; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; public class Solution { public static String reverseVowels(String str) { //反轉字串 String reverseString = new StringBuilder(str).reverse().toString(); //依次獲取反轉後的原音 String vowels=""; for(int i=0;i<str.length();i++){ char c = reverseString.charAt(i); if (c=='a'||c=='A'||c=='e'||c=='E'||c=='i'||c=='I'||c=='o'||c=='O'||c=='u'||c=='U') { vowels=vowels+c; } } //替換 int t=0; String result=""; for(int j=0;j<str.length();j++){ char c = str.charAt(j); if (<span style="font-family: Arial, Helvetica, sans-serif;">c=='a'||c=='A'||c=='e'||c=='E'||c=='i'||c=='I'||c=='o'||c=='O'||c=='u'||c=='U'</span>) { result=result+vowels.charAt(t); t++; }else { result=result+c; } } return result; } public static void main(String[] args) throws IOException { BufferedReader br=new BufferedReader(new InputStreamReader(System.in)); String s=null; s=br.readLine(); System.out.print(reverseVowels(s)); } }