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

本文概述

  • python
  • python
  • python
  • python
  • python
给定一个字符串, 编写一个python函数来检查它是否是回文。如果字符串的反方向与字符串相同, 则称该字符串为回文。例如, “ 雷达” 是回文, 但是” 基数” 不是回文。
例子:
Input : malayalam Output : YesInput : 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程序检查字符串是否是回文】首先, 你的面试准备可通过以下方式增强你的数据结构概念:Python DS课程。

    推荐阅读