题目:实现字符串的反转,要求不适用任何系统的方法,且时间复杂度最小。
分析:字符串的反转主要通过字符的交换来实现,需要首先把字符串转换为字符数组,然后定义两个索引分别指向数组的首尾,再交换两个索引位置的值,同时把两个索引的值向中间移动,直到两个索引相遇为止,则完成了字符串的反转。
code:临时变量法。最常用的交换两个变量的方法为:定义一个中间变量来交换两个值。
def reverseStr(str):
listStr = list(str)
i = 0
j = len(listStr) - 1
while i < j:
tmp = listStr[i]
listStr[i] = listStr[j]
listStr[j] = tmp
i += 1
j -= 1
return ''.join(listStr)
if __name__ == "__main__":
str = 'abcdefg'
print(reverseStr(str))
程序运行结果:
gfedcba