反转字符串
Posted 刘[小]倩
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了反转字符串相关的知识,希望对你有一定的参考价值。
【题意描述】
假定给定字符串‘abcdef’,将前3个字符串与后面的字符串进行原地反转,即输出:defabc。(要求:不借助任何python的反转函数)
【解题思路】
将一个字符串分割成需要移动的部分和不需要移动的部分,然后将两个部分的字符串分别反转,最后再对整个字符串进行整体反转。
【主要代码分析】
反转过程:start指向起始位置,end指向结束位置。两者交换后,start加一,end减一,直到两者相等
代码实现如下:
def reverseString(sList): start = 0 end = len(sList)-1 while start<end : sList[start], sList[end] = sList[end], sList[start] start += 1 end -= 1 return sList def main(s, n): s = list(s) # 因为python字符串属于不可变对象,所以转换为可变对象以便执行交换 left = reverseString(s[:n]) right = reverseString(s[n:]) result = reverseString(left+right) return \'\'.join(result) print main(\'abcdef\', 3) # defabc
以上是关于反转字符串的主要内容,如果未能解决你的问题,请参考以下文章
使用 C++ 反转句子中的每个单词需要对我的代码片段进行代码优化
2022&2023华为OD机试 - 单词反转 2(Python)