杭電OJ2029迴文串——Palindromes _easy version(C語言解析)
題目地址
Palindromes _easy version
Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)
Total Submission(s): 71835 Accepted Submission(s): 43244
Problem Description
“迴文串”是一個正讀和反讀都一樣的字串,比如“level”或者“noon”等等就是迴文串。請寫一個程式判斷讀入的字串是否是“迴文”。
Input
輸入包含多個測試例項,輸入資料的第一行是一個正整數n,表示測試例項的個數,後面緊跟著是n個字串。
Output
如果一個字串是迴文串,則輸出"yes",否則輸出"no".
Sample Input
4
level
abcde
noon
haha
Sample Output
yes
no
yes
no
這道題,是比較簡單的迴文判斷,判斷迴文,我們可以採取兩天並進的方法來判斷,就是第一個和最後一個比較,第二個和倒數第二的比較,直到比較到前後差距不大於1,即重疊或相鄰,如果中間比較的不相同,直接跳出判斷,這肯定不是迴文串。我是以一個數來做標記,1就是yes,0是no。
#include<stdio.h>
#include<string.h>
#include<stdlib.h>
int main(void){
int n,i,j,m,t;
int *a; //儲存判斷結果
char *s; //儲存輸入的字串
a=(int *)malloc(sizeof(int)*100);
s=(char *)malloc(sizeof(char)*100);
while(scanf("%d",&n) != EOF){
t=0;
while(n--){
scanf("%s",s);
m=strlen(s);
j=1; //t作為標記,1是YES,0是NO
for(i=0;i<m/2;i++){ //判斷迴文串
if(s[i] != s[m-1-i]){
j=0;
break;
}
}
a[t]=j;
t++;
}
for(i=0;i<t;i++){
if(a[i]==1){
printf("yes\n");
}
else{
printf("no\n");
}
}
}
return 0;
}
相關文章
- C語言訓練之杭電OJC語言
- Prime Palindromes( 素數迴文) C++實現C++
- C語言:迴文數計算C語言
- (迴文串)leetcode各種迴文串問題LeetCode
- acm-(區間dp、迴文串、子序列)ICPC SG Preliminary Contest 2018 C - Making PalindromesACM
- c語言_遞迴C語言遞迴
- C語言:判斷一個字串是否為迴文C語言字串
- C語言:利用指標檢查字串是否是迴文C語言指標字串
- 迴文串問題(動態規劃DP C++)動態規劃C++
- Prefix Flip (Easy Version)
- Catch the Mole(Easy Version)
- 一文帶你掌握C語言的迴圈結構C語言
- java 最長迴文子串Java
- UVA 11584 Paritioning by Palindromes(動態規劃 迴文)動態規劃
- leedcode-最長迴文串
- C#語言函式遞迴C#函式遞迴
- C語言 不大於2019的最大反數、迴文數C語言
- 今日面試題:最長迴文子串;及迴文分割分析面試題
- C語言遞迴之母牛的故事C語言遞迴
- Easy Translator語言翻譯類工具R語言
- so easy 前端實現多語言前端
- C語言——迴圈結構(for迴圈,while迴圈,do-while迴圈)C語言While
- 一文看懂 C 語言 I/O
- LeetCode - 409 - 最長迴文串LeetCode
- 常用演算法之驗證迴文串演算法
- 演算法-兩最長迴文子串演算法
- LEECODE 5 求最長迴文子串
- 發現C語言遞迴深度有限制C語言遞迴
- C語言用遞迴方法求解階乘C語言遞迴
- Android實現多語言so easyAndroid
- C語言goto語句以及用goto語句構成迴圈C語言Go
- [動態規劃] 六、最長迴文子串動態規劃
- LeetCode 5.最長迴文子串LeetCode
- LeetCode125. 驗證迴文串LeetCode
- 演算法之字串——最長迴文子串演算法字串
- 判斷迴文串 字串/數字相互轉換字串
- Amazon面試題:尋找最長迴文子串面試題
- C語言學習【3】——判斷與迴圈C語言