使用指標在C語言中檢查字串是否為迴文
假設我們有一個字串 s。我們需要檢查給定的字串是否為迴文。我們需要使用 C 語言中的指標來解決這個問題。
因此,如果輸入類似於 s = "racecar",則輸出為 True。
為了解決這個問題,我們將遵循以下步驟:
- length := 字串的長度
- forward := 指向字串的第一個字元
- reverse := 指向字串的最後一個字元
- 當 reverse 的位置 >= forward 的位置時,執行以下操作:
- 如果 reverse 指向的字元與 forward 指向的字元相同,則:
- forward 加 1,reverse 減 1
- 否則:
- 退出迴圈
- 如果 reverse 指向的字元與 forward 指向的字元相同,則:
- 如果 forward 的位置 >= reverse 的位置,則:
- 返回 True
- 返回 False
讓我們看看下面的實現來更好地理解:
示例
#include <stdio.h>
#include <string.h>
int solve(char *string){
int length;
char *forward, *reverse;
length = strlen(string);
forward = string;
reverse = forward + length - 1;
for (forward = string; reverse >= forward;) {
if (*reverse == *forward) {
reverse--;
forward++;
} else
break;
} if (forward > reverse)
return 1;
else
return 0;
}
int main(){
char string[] = "racecar";
printf("%d", solve(string));
}輸入
"racecar"
輸出
1
廣告
資料結構
網路
關係資料庫管理系統 (RDBMS)
作業系統
Java
iOS
HTML
CSS
Android
Python
C語言程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP