# -*- 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)