共翁号
共翁号 > 科普 > 编写程序判断一个字符串是否是回文

编写程序判断一个字符串是否是回文

原创2025-07-17 19:33:21

要判断一个字符串是否是回文,可以使用以下方法:

递归方法

```python

def is_palindrome(s):

基本情况:空字符串或单个字符的字符串是回文

if len(s) <= 1:

return True

检查第一个字符和最后一个字符是否相同

if s == s[-1]:

如果相同,则递归地检查去掉首尾字符后的子字符串

return is_palindrome(s[1:-1])

else:

如果不同,则不是回文

return False

```

迭代方法

```python

def is_palindrome_optimized(s):

left, right = 0, len(s) - 1

while left < right:

if s[left] != s[right]:

return False

left += 1

right -= 1

```

使用Python切片

```python

def is_palindrome(s):

return s == s[::-1]

```

C语言方法

```c

include

include

define MAX_SIZE 80

int isPalindrome(char str[]) {

int length = strlen(str);

for (int i = 0; i < length / 2; i++) {

if (str[i] != str[length - i - 1]) {

return 0;

}

}

return 1;

}

int main() {

char str[MAX_SIZE + 1];

printf("请输入一个字符串: ");

fgets(str, MAX_SIZE + 1, stdin);

if (isPalindrome(str)) {

printf("是回文\n");

} else {

printf("不是回文\n");

}

return 0;

}

```

Java方法

```java

import java.util.Scanner;

public class PalindromeChecker {

public static void main(String[] args) {

Scanner sc = new Scanner(System.in);

System.out.println("输入一个字符串:");

String str = sc.next();

StringBuilder sb = new StringBuilder(str);

sb.reverse();

if (str.equals(sb.toString())) {

System.out.println("字符串是对称的");

} else {

System.out.println("字符串不对称的");

}

}

}

```

以上方法均可用于判断一个字符串是否是回文。您可以根据您的编程语言选择合适的方法。

返回:科普

相关阅读

    最新文章
    猜您喜欢
    热门阅读