文章目录
方法1:对称交换法
str = 'abcdef'
def f(s):
s = list(s)
if len(s) <=1:
return s
i = 0
length = len(s)
while i < length/2:
s[i],s[length - 1 - i] = s[length - 1 - i],s[i]
i += 1
return ''.join(s)
newStr = f(str)
print('反转前的字符串:', str) # abcdef
print('反转后的字符串:', newStr) # fedcba
说明: 遍历字符串前一半的元素,然后与后一半对称的那个位置的元素进行交换,以达到字符串反转。
方法2:函数递归法
str = 'abcdef'
print(str[:-1]) # str[:-1] 截取除最后一个元素外的所有元素(-1 表示最后一个元素的索引)
def fun(s):
if len(s) <= 1:
return s
return s[-1] + fun(s[:-1])
newStr = fun(str)
print('反转前的字符串:', str) # abcdef
print('反转后的字符串:', newStr) # fedcba
说明: 使用递归的思想,建立函数,倒序添加字符串,直到字符串长度小于等于1后停止。