題目連結:
題目意譯:
你被給定一個偶數長度的字串 s 。將此字串平分成長度一樣的兩個字串,且令 a 為前半部 、 b 為後半部。
兩個字串相似,如果它們有著相同數量的母音('a', 'e', 'i', 'o', 'u', 'A', 'E', 'I', 'O', 'U')。注意, s 包含著大小寫字母。
回傳真(True)如果 a 和 b 相似;反之,回傳假(False)。
限制:
2 ≦ s.length ≦ 1000
s.length 為偶數。
s 由大寫和小寫字母組成。
範例測資:
範例 1:
輸入: s = "book"
輸出: true
解釋: a = "bo" 且 b = "ok"。 a 有著 1 個母音而 b 有 1 個母音。因此,兩者相似。
範例 2:
輸入: s = "textbook"
輸出: false
解釋: a = "text" 且 b = "book"。 a 有著 1 個母音而 b 有 2 個母音。因此,兩者不相似。
注意,上面的母音 o 算作出現兩次。
範例 3:
輸入: s = "MerryChristmas"
輸出: false
範例 4:
輸入: s = "AbCdEfGh"
輸出: true
解題思維:
就是單純地將 s 從中間切為 s[0] ~ s[s.length ÷ 2 - 1] 跟 s[s.length ÷ 2] ~ s[s.length - 1] 這兩個部分。這邊的字串 s 之索引值從 0 開始。若從 1 開始算則將每對「[]」的值 + 1。
切完之後統計兩個字串各自的母音(也就是 'a', 'e', 'i', 'o', 'u', 'A', 'E', 'I', 'O', 'U' 這些字元)的出現次數。如果一樣就回傳真;反之,回傳假。
此次分享到此為止,如有任何更加簡潔的想法或是有說明不清楚之地方,也煩請各位大大撥冗討論。