# -*- coding:utf-8 -*- # palindrome str : 回文字符串:一个字符串,不论是从左往右,还是从右往左,字符的顺序都是一样的(如abba,等) def is_palindrome_1(tmp_str): for i in range(len(tmp_str)): if tmp_str[i] != tmp_str[-(i+1)]: return False return True def is_palindrome_2(tmp_str): # tmp_str_reverse = tmp_str[::-1] # if tmp_str == tmp_str_reverse: # return True # else: # return False return tmp_str == tmp_str[::-1] #递归 def is_palindrome_3(tmp_str): if len(tmp_str) <= 1: return True else: if tmp_str[0] == tmp_str[-1]: return is_palindrome_3(tmp_str[1:-1]) else: return False if __name__ == "__main__": test_str1 = "abcba" test_str2 = "123456a" print is_palindrome_1(test_str1) print is_palindrome_2(test_str1) print is_palindrome_3(test_str1) print is_palindrome_1(test_str2) print is_palindrome_2(test_str2) print is_palindrome_3(test_str2)