给我一个函数来判断是否为回文串
时间: 2023-06-02 22:05:38 浏览: 85
好的,以下是判断回文串的函数代码:
```
bool isPalindrome(string s) {
int n = s.length();
for (int i = 0; i < n / 2; i++) {
if (s[i] != s[n - i - 1]) {
return false;
}
}
return true;
}
```
该函数接受一个字符串作为参数,返回一个布尔值,表示该字符串是否为回文串。如果该字符串是回文串,则返回true,否则返回false。
相关问题
javaweb编写一个函数判断字符串是否为回文字符串
在Java Web环境中编写一个函数来判断一个字符串是否是回文字符串,你可以创建一个简单的函数,通过比较字符串与其反转后的字符串是否相等来实现。下面是一个示例:
```java
public class Main {
public static boolean isPalindrome(String str) {
// 如果字符串长度小于等于1,直接认为它是回文
if (str == null || str.length() <= 1) {
return true;
}
// 反转字符串并与原字符串对比
String reversed = new StringBuilder(str).reverse().toString();
return str.equals(reversed);
}
public static void main(String[] args) {
System.out.println(isPalindrome("madam")); // 输出: true
System.out.println(isPalindrome("hello")); // 输出: false
}
}
```
这个`isPalindrome`函数接受一个字符串作为输入,首先检查特殊情况(空字符串或单字符),然后使用`StringBuilder`的`reverse()`方法获取字符串的反转版本,最后比较原字符串和反转后的字符串是否相等。
C语言写一个递归函数判断字符串s是否为回文串
在C语言中,你可以通过递归的方式来编写一个函数检查一个字符串是否是回文串。回文串是指正读反读都一样的字符串。下面是一个简单的递归函数示例:
```c
#include <stdio.h>
#include <stdbool.h>
#include <string.h>
bool isPalindrome(char s[], int start, int end) {
// 基线条件:当start等于end时,说明已经检查了整个字符串,它是回文的
if (start >= end)
return true;
// 检查第一个字符和最后一个字符是否相等,如果不同则不是回文
if (s[start] != s[end])
return false;
// 如果首尾字符相等,继续递归检查中间部分
return isPalindrome(s, start + 1, end - 1);
}
int main() {
char str[] = "abcba";
if (isPalindrome(str, 0, strlen(str) - 1))
printf("%s is a palindrome.\n", str);
else
printf("%s is not a palindrome.\n", str);
return 0;
}
```
在这个`isPalindrome`函数中,我们传入起始位置`start`和结束位置`end`作为参数,每次递归都会检查这两个位置的字符是否相同,并将范围缩小到剩余部分。如果整个过程中所有字符都匹配,则返回`true`,表示是回文;反之则返回`false`。
阅读全文