**題目:**回文字串,什麼叫回文字串,回文字串指的是將乙個字元翻轉過來和原來的字串是相等的,這就是回文字串。例如:「abcddcba」這就是乙個簡單的回文字串。請你寫乙個方法實現判斷乙個字串是否為回文字串。
輸入:aba
輸出:yes
輸入:abbda
輸出:no
作為軟體工程專業的一位新人,目前只學到了陣列,所以用目前的水平做回文字串只能運用陣列來實現,以下是我的解題思路:
1、因為沒有規定回文字串的長度,所以要開闢乙個相對大的空間來儲存字元;
2、判斷回文字串:用兩個陣列,乙個用來儲存輸入的字串,再將字串倒敘存入另乙個陣列中,最後判斷兩個字串是否相同。
#include
#include
"string.h"
intmain()
if(strcmp
(a,b)==0
)printf
("yes\n");
else
printf
("no\n");
return0;
}
下面是該題目的答案及解析
#include
intmain()
int n = i;
//迴圈判斷 第i位和第n-1-i位的字元
for(i =
0; i < n/
2; i++)}
printf
("yes");
return0;
}
反思
我的解題方法與答案運用的是兩種不同的方法,答案是先運用迴圈將字串中的字元存入陣列,再運用迴圈判斷第i位和i+1位的字元是否想等來判斷是否為回文字串;我是用gets輸入字串,再用strlen測量輸入的字串的長度,通過其控制迴圈將字串倒敘存入另乙個陣列,最後用strcmp比較兩個字串是否相同。
通過這一次題目的練習,對陣列有了更進一步的學習,也有一定的思考和感悟,不過現在還是菜鳥乙個,文章如有問題,請大家幫忙指正。
回文字串
描述 所謂回文字串,就是乙個字串,從左到右讀和從右到左讀是完全一樣的,比如 aba 當然,我們給你的問題不會再簡單到判斷乙個字串是不是回文字串。現在 要求你,給你乙個字串,可在任意位置新增字元,最少再新增幾個字元,可以使這個字串成為回文字串。輸入第一行給出整數n 0思路分析 1.判斷字串前後倆個字元...
回文字串
還是在龐果網 看到的題目,這次選了個簡單的,回文字串。題目內容 回文字串是指從左到右和從右到左相同的字串,現給定乙個僅由小寫字母組成的字串,你可以把它的字母重新排列,以形成不同的回文字串。思路 不滿足上面條件的直接返回0,因為這樣構不成回文 判斷出能形成回文以後,將元素減半,在字串一半的長度內進行組...
回文字串
時間限制 3000 ms 記憶體限制 65535 kb 難度 4 描述 所謂回文字串,就是乙個字串,從左到右讀和從右到左讀是完全一樣的,比如 aba 當然,我們給你的問題不會再簡單到判斷乙個字串是不是回文字串。現在要求你,給你乙個字串,可在任意位置新增字元,最少再新增幾個字元,可以使這個字串成為回文...