题解 | #左旋转字符串#

左旋转字符串

http://www.nowcoder.com/practice/12d959b108cb42b1ab72cef4d36af5ec

把两个str拼起来,然后从第n%len(s)开始取出len(s)个元素

#
# 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
#
# 
# @param str string字符串 
# @param n int整型 
# @return string字符串
#
class Solution:
    def LeftRotateString(self , str: str, n: int) -> str:
        if str=='':
            return ''
        
        length=len(str)
#         times=(length+n)//length +1
#         newstr=str*times
#         return newstr[n:n+length]
#改进版:       
        n = n%length#取余,因为每次长度为length的旋转数组相当于没有变化
        newstr = str*2       
        return newstr[n:n+length]

时间复杂度O(1):使用函数直接获取区间

空间复杂度O(n):占用 2n 空间

全部评论

相关推荐

06-13 10:15
门头沟学院 Java
想去夏威夷的大西瓜在...:我也是27届,但是我现在研一下了啥项目都没有呀咋办,哎,简历不知道咋写
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务