python单词反转_python实现 字符串/单词的旋转(翻转)

主要实现快速字符转翻转倒置,将指定的前n个字符移动到字符串结尾,翻转中英文单词顺序

上python代码:

class ReverseString:

string=[]

def __init__(self,string):

self.string=list(string)

def reset(self,string):

self.string=list(string)

def reverse(self,startidx=0,endidx=None):

if endidx is None:

endidx=len(self.string)-1

if startidx>=endidx:

print('out:',startidx, endidx)

return

strlen=endidx-startidx+1

center=strlen//2

for i in range(center):

tmp=self.string[endidx-i]

self.string[endidx - i]=self.string[startidx+i]

self.string[startidx+i]=tmp

def get_reverse_result(self):

return ''.join(self.string)

def move_front_n_to_end(self,n=None):

if n is None:

n=len(self.string)

strlen = len(self.string)

if n>strlen:

n=n%strlen

self.reverse(0,n-1)

self.reverse(n, strlen-1)

self.reverse(0, strlen-1)

def reverse_word(self):

strlen = len(self.string)

findstart=False

for i in range(strlen):

if self.string[i]!=' ' and not findstart:

findstart=True

st=i

if self.string[i]==' ' and findstart:

ed=i-1

findstart=False

self.reverse(st,ed)

if findstart:

self.reverse(st, strlen-1)

self.reverse(0, strlen-1)

测试:

rv=ReverseString('客上天然居')

rv.reverse()

print(rv.get_reverse_result())

rv.reset('hello word!')

rv.reverse_word()

print(rv.get_reverse_result())

rv.reset('789123456')

rv.move_front_n_to_end(3)

print(rv.get_reverse_result())

输出:

居然天上客

word! hello

123456789

喜欢 (0)赏

close.jpg

感谢您的支持,我会继续努力的!

alipayimg.jpg

扫码打赏,你说多少就多少

alipay.jpg

wechat.jpg

打开支付宝扫一扫,即可进行扫码打赏哦

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值