算法

算法,第1张

算法

文章目录
  • 左旋转字符串
    • 1.两种解法
      • 第一种—使用辅助空间
      • 第二种—不使用辅助空间
    • 2.总结
      • python
      • 算法

左旋转字符串

leetcode链接

1.两种解法 第一种—使用辅助空间

具体步骤是:
将前n个字符保存在一个新字符串中,然后把原字符串的[n,len(s))子串与新字符串拼接起来即可

def reverseLeftWords(s,n):
	new_s = s[:n]
	s = s[n:]+new_s
	return s
第二种—不使用辅助空间

如果不使用辅助空间,只在原字符串上 *** 作,需要使用局部反转+整体反转的思想
具体步骤为:

  1. 反转区间为前n的子串
  2. 反转区间为n到末尾的子串
  3. 反转整个字符串


代码如下:

def reverseLeftWords(s,n):
    def reversestr(s):
        left, right = 0, len(s)-1
        while left 
2.总结 
python 
  1. 当容器作为函数参数时,对参数的修改也会导致原容器被修改,这是一种浅拷贝
算法
  1. 掌握局部反转+全局反转的思想

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5572471.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-14
下一篇 2022-12-14

发表评论

登录后才能评论

评论列表(0条)

保存