判断字符串是否为回文的三种常用编程语言实现
引言:回文是一种具有镜像对称性的字符串,即它从左到右读和从右到左读是相同的。回文可以在文学、语言学、数学、计算机科学等领域中得到广泛应用。在计算机科学中,判断一个字符串是否为回文是一项基本的算法挑战。在本文中,我们将介绍三种常见的编程语言中用于判断字符串是否为回文的算法,并对它们的时间复杂度和空间复杂度进行分析。
正文:我们将分别介绍用C语言、Python和Java实现判断字符串是否为回文的算法。
C语言实现:
#include <stdio.h>
#include <string.h>
#include <stdbool.h>bool isPalindrome(char* s) {int len = strlen(s);for (int i = 0, j = len - 1; i < j; i++, j--) {if (s[i] != s[j]) {return false;}}return true;
}int main() {char s[100];printf("请输入一个字符串:");scanf("%s", s);if (isPalindrome(s)) {printf("%s 是回文字符串\n", s);} else {printf("%s 不是回文字符串\n", s);}return 0;
}
时间复杂度为O(n),空间复杂度为O(1)。
Python实现:
def isPalindrome(s: str) -> bool:i, j = 0, len(s) - 1while i < j:if s[i] != s[j]:return Falsei, j = i + 1, j - 1return Trues = input("请输入一个字符串:")
if isPalindrome(s):print(f"{s} 是回文字符串")
else:print(f"{s} 不是回文字符串")
时间复杂度为O(n),空间复杂度为O(1)。
Java实现:
import java.util.Scanner;public class Palindrome {public static boolean isPalindrome(String s) {int i = 0, j = s.length() - 1;while (i < j) {if (s.charAt(i) != s.charAt(j)) {return false;}i++;j--;}return true;}public static void main(String[] args) {Scanner scanner = new Scanner(System.in);System.out.print("请输入一个字符串:");String s = scanner.nextLine();if (isPalindrome(s)) {System.out.printf("%s 是回文字符串\n", s);} else {System.out.printf("%s 不是回文字符串\n", s);}}
}
时间复杂度为O(n),空间复杂度为O(1)。
判断字符串是否为回文的三种常用编程语言实现相关推荐
- 1.7-33编程基础之字符串 33:判断字符串是否为回文
33:判断字符串是否为回文 查看提交统计提问 总时间限制: 1000ms 内存限制: 65536kB 描述 输入一个字符串,输出该字符串是否回文.回文是指顺读和倒读都一样的字符串. 输入 输入为一行字 ...
- C语言试题三十一之判断字符串是否为回文?若是则函数返回1,主函数中输出yes,否则返回0,主函数中输出no。回文是指顺读和倒读都是一样的字符串。
1. 题目 请编写函数function,该函数的功能是:判断字符串是否为回文?若是则函数返回1,主函数中输出yes,否则返回0,主函数中输出no.回文是指顺读和倒读都是一样的字符串. 2 .温馨提示 ...
- 判断字符串是否构成回文_构成字符串回文的最小删除数
判断字符串是否构成回文 Problem statement: 问题陈述: Given string str find the minimum number of deletions such that ...
- bigdecimal 判断是否为数字_C语言判断字符串是否为回文
回文就是字符串中心对称,如"abcba"."abccba"是回文,"abcdba"不是回文. /*判断字符串是否为回文*/ #include ...
- 1.7 编程基础之字符串 33 判断字符串是否为回文 python
http:// http://noi.openjudge.cn/ch0107/33/ """1.7 编程基础之字符串 33 判断字符串是否为回文http://noi.op ...
- 信息学奥赛一本通 1146:判断字符串是否为回文 | OpenJudge NOI 1.7 33:判断字符串是否为回文
[题目链接] ybt 1146:判断字符串是否为回文 OpenJudge NOI 1.7 33:判断字符串是否为回文 [题目考点] 1. 字符串遍历 如何遍历字符串的一半? 如果字符串长度为len,那 ...
- 用递归方法判断字符串是否是回文(Recursion Palindrome Python)
所谓回文字符串,就是一个字符串从左到右读和从右到左读是完全一样的.比如:"level" ."aaabbaaa". "madam"." ...
- 判断相等_C语言判断字符串是否为回文
回文就是字符串中心对称,如"abcba"."abccba"是回文,"abcdba"不是回文. /*判断字符串是否为回文*/ #include ...
- 判断字符串是否为回文串
判断字符串是否为回文串 判断回文数(双指针法) 常规解法 public boolean IsPalindrome1(String A){char[] arrayA = A.toCharArray(); ...
最新文章
- 任正非:管理就要铲除公司夹心层!
- 23LC1024四线访问数据
- SQLITE3根据需求查询回不同的数据类型简单记录
- jstack和线程dump分析
- 服务器搬迁方案_数据中心机房改造搬迁IDC机房工程建设
- 模板:Link Cut Tree(LCT)
- 队列入队和出队程序演示
- 当我们谈论生信的时候我们在谈什么
- 十步一拆:iPhone4S拆机十步曲
- Android 混淆大全一篇就够了
- TinyGPS使用说明
- 香蜜沉沉烬如霜里的共付鸿蒙,香蜜沉沉烬如霜的伤感句子35条
- python中的各种符号(欢迎补充)
- 英语写作——必备的200条句子【写作必备!!!】
- 我的世界java版如何装mod_我的世界MOD怎么安装 我的世界mod安装教程
- cisco 3548x 低延时交换机erspan获取ns时间戳
- 为什么这几年电脑病毒不见了?
- NLP-Bert核心知识点权威总结
- 【2023/2/25 更新】Windows Server 2019 服务配置与管理汇总
- Clion配置导致中文乱码问题 char长度限制导致中文乱码问题