字符轉(zhuǎn)換
-
目標(biāo):
使用Go語(yǔ)言篮绰,函數(shù)LetterChanges(str)將傳遞str參數(shù)忌傻,并使用以下算法對(duì)其進(jìn)行修改。
1. 轉(zhuǎn)換的要求的是只轉(zhuǎn)換 字母表的字母 'A'(65) --> 'Z'(90) and 'a'(97) -> 'z'(122)
2. 轉(zhuǎn)換的算法是將字符向前進(jìn)一位. ('A' + 1 = 'B')
3. 當(dāng)前的字符為 'z' 直接被轉(zhuǎn)為 a. , 'Z' 直接轉(zhuǎn)換為 'A'
4. 轉(zhuǎn)換后的字母為原音字母時(shí), 需要大寫(xiě), 字母大寫(xiě)的方式 ('a' ---> 'A' 'a' - 32)
func LetterChanges(str string) string {
if len(str) == 0 {
return ""
}
charArr := []rune(str)
for index , value := range charArr{
if (value >= 65 && value <= 90) || (value >= 97 && value <= 122){
if value == 122 {
charArr[index] = 'a'
}
value = value + 1
if isOriginalSound(value){
value = value - 32
}
charArr[index] = value
}
}
return string(charArr)
}
//判斷是否是元音字母.
func isOriginalSound(value rune)bool{
originalSound := []string{"a" , "e" , "i" , "o", "u"}
for _, v := range originalSound{
if v == string(value) {
return true
}
}
return false;
}