#38827: 解題思路


toseanlin@gmail.com (Dr. SeanXD)

學校 : 康橋雙語學校
編號 : 158065
來源 : [220.130.163.227]
最後登入時間 :
2024-05-02 10:06:00
a224. 明明愛明明 | From: [203.204.21.18] | 發表日期 : 2023-12-26 20:21

因為題目的要求為「可重組」,所以就要使用迴文的定義來判斷字串是否可以組成一個迴文。在迴文中,每一個字元都是雙雙成對的,除非字串長度為奇數則最中間的字元為非成對出現。所以可以利用MAP來統計每一個字元所出現的次數,並且使用「isalpha(str[i])」和「tolower(str[i])」來判斷目前的字元是否是英文字母且強制將所有英文字母轉換為小寫來避免大小寫判斷問題。迴圈結束後從0到26跑一次For迴圈來確定每一個英文字母的MAP值都是偶數,如果有超過一個字母為非偶數的情況 (剛剛講到的中間字元非成對出現的狀況),則此字串不可變成迴文。

範例程式碼

 
#40055: Re: 解題思路


toseanlin@gmail.com (Dr. SeanXD)

學校 : 康橋雙語學校
編號 : 158065
來源 : [220.130.163.227]
最後登入時間 :
2024-05-02 10:06:00
a224. 明明愛明明 | From: [220.130.163.227] | 發表日期 : 2024-04-25 23:57

新的網站!!!

新的範例程式碼

 
ZeroJudge Forum