Skip to content

Latest commit

 

History

History
63 lines (46 loc) · 1.31 KB

345md.md

File metadata and controls

63 lines (46 loc) · 1.31 KB

LeetCode 345. Reverse Vowels of a String

##題目 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".

Note: The vowels does not include the letter "y". ##翻譯 給一個英文字串,將裡面的母音字母反轉。

範例1:
Given s = "hello", return "holle".

範例2:
Given s = "leetcode", return "leotcede".

注意: y不算在母音字母中。

##思路

  1. 先將字串中的母音儲存在array
  2. 重新搜索字串中的母音,將array理面的字元依相反順序取代字串中的母音

##解題

/**
 * @param {string} s
 * @return {string}
 */
var reverseVowels = function(s) {
    
    var vowels = [];  // 儲存找到的母音
    
    // 找母音
    for(var i = 0 ; i< s.length ; i++){
        if((/^[aeiou]$/i).test(s[i])){
            vowels.push(s[i]);
        }    
    }
    
    var v = vowels.length - 1;
    // 因為之前是用array儲存找到的母音,所以把本來的字串也轉成array
    var sAry = s.split("");
    
    // 用之前找到的array取代母音
    for(var j = 0 ; j < sAry.length ; j++){
        if((/^[aeiou]$/i).test(sAry[j])){
            sAry[j] = vowels[v--];
        }    
    }
    
    return sAry.join("");
};