Python_反转字符串
测开笔试题:尽可能用多的方法反转字符串
输入:“abcde”
输出:”edcba“
PS:字符串是不可变类型元素,很多时候需要先转为list,再join。
1)方法1:切片反转
def fanzhuan(s):
return s[::-1]
if __name__ == "__main__":
print(fanzhuan("abcde"))
2)方法2:内置函数reverse()
def fanzhuan(s):
lis= list(s)
# reverse()是原地排序
lis.reverse()
return "".join(lis)
if __name__ == "__main__":
print(fanzhuan("abcde"))
3)方法3:双指针
def fanzhuan(s):
lis = list(s)
i = 0
j =len(s) - 1
# 指针i从左往右,指针j从右往左
while i < j:
# 第一个元素和最末尾元素交换,第二个元素和倒数第二个元素交换,
# 以此类推
lis[i], lis[j] = lis[j], lis[i]
i