个性化阅读
专注于IT技术分析

Python程序检查字符串是否是回文

本文概述

给定一个字符串, 编写一个python函数来检查它是否是回文。如果字符串的反方向与字符串相同, 则称该字符串为回文。例如, “雷达”是回文, 但是”基数”不是回文。

例子:

Input : malayalam
Output : Yes

Input : geeks
Output : No

方法1

1)查找字符串的反向

2)检查反面和原稿是否相同。

python

# function which return reverse of a string
 
def isPalindrome(s):
     return s = = s[:: - 1 ]
 
 
# Driver code
s = "malayalam"
ans = isPalindrome(s)
 
if ans:
     print ( "Yes" )
else :
     print ( "No" )

输出:

Yes

迭代方法:

该方法是由沙里克·拉扎(Shariq Raza)。从开头到length/2循环运行, 并检查字符串的第一个字符至最后一个字符, 然后检查第二个至第二个最后一个字符, 依此类推……。如果任何字符不匹配, 则该字符串将不是回文。

下面是上述方法的实现:

python

# function to check string is
# palindrome or not
def isPalindrome( str ):
 
     # Run loop from 0 to len/2
     for i in range ( 0 , int ( len ( str ) /2 )):
         if str [i] ! = str [ len ( str ) - i - 1 ]:
             return False
     return True
 
# main function
s = "malayalam"
ans = isPalindrome(s)
 
if (ans):
     print ( "Yes" )
else :
     print ( "No" )

输出如下:

Yes

使用内置函数反转字符串的方法:

在这种方法中, 预定义函数‘.join(reversed(string))用于反转字符串。

下面是上述方法的实现:

python

# function to check string is
# palindrome or not
def isPalindrome(s):
     
     # Using predefined function to
     # reverse to string print(s)
     rev = ''.join( reversed (s))
 
     # Checking if both string are
     # equal or not
     if (s = = rev):
         return True
     return False
 
# main function
s = "malayalam"
ans = isPalindrome(s)
 
if (ans):
     print ( "Yes" )
else :
     print ( "No" )

输出如下:

Yes

使用一个额外变量的方法:

在这种方法中, 用户一个接一个的字符串字符并存储在一个空变量中。存储完所有字符后, 用户将比较字符串并检查其是否为回文。

python

# Python program to check
# if a string is palindrome
# or not
 
x = "malayalam"
 
w = ""
for i in x:
     w = i + w
 
if (x = = w):
     print ( "Yes" )
else :
     print ( "No" )

输出如下:

Yes

使用标志的方法:

在此方法中, 用户比较for循环中开始和结束处的每个字符, 如果该字符不匹配, 则它将更改标志的状态。然后它将检查标志的状态并相应地打印是否是回文。

python

# Python program to check
# if a string is palindrome
# or not
st = 'malayalam'
j = - 1
flag = 0
for i in st:
     if i ! = st[j]:
       j = j - 1
       flag = 1
       break
     j = j - 1
if flag = = 1 :
     print ( "NO" )
else :
     print ( "Yes" )

输出如下:

Yes

首先, 你的面试准备可通过以下方式增强你的数据结构概念:Python DS课程。

赞(0) 打赏
未经允许不得转载:srcmini » Python程序检查字符串是否是回文
分享到: 更多 (0)

评论 抢沙发

评论前必须登录!

 

觉得文章有用就打赏一下文章作者

微信扫一扫打赏