本文概述
给定一个字符串, 编写一个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课程。
评论前必须登录!
注册