针对一个字符串,该字符串是以字符列表的形式存在,请编写一个函数,实现将字符串反转过来。
例如:
给定一个字符列表:["h", "e", "l", "l", "o"],返回结果:["o", "l", "l", "e", "h"]
给定一个字符列表:["h", "a", "n", "n", "a", "H"],返回结果:["H", "a", "n", "n", "a", "h"]
说明:
- 不允许使用其他的列表,只能在原列表上处理
- 不允许使用编程语言的内置函数实现反转,也不允许对列表进行切片操作
双指针
来实现def reverseString(s): left, right = 0, len(s) - 1 while left < right: s[left], s[right] = s[right], s[left] left += 1 right -= 1
位运算
来实现~
按位取反运算中:~i
= - i - 1
,所以我们直接让 s[i] 与 s[~i] 交换就行def reverseString(s): for i in range(len(s) // 2): s[i], s[~i] = s[~i], s[i]
更多Python编程题,等你来挑战:Python编程题汇总(持续更新中……)