好得很程序员自学网

<tfoot draggable='sEl'></tfoot>

测试面试LeetCode系列:字符串的左旋转

题目

字符串的左旋转操作是把字符串前面的若干个字符转移到字符串的尾部。请定义一个函数实现字符串左旋转操作的功能。比如,输入字符串"abcdefg"和数字2,该函数将返回左旋转两位得到的结果"cdefgab"。

示例 1:

输入: s = "abcdefg", k = 2 输出:?"cdefgab"

示例 2:

输入: s = "lrloseumgh", k = 6 输出:?"umghlrlose"

限制:

1 <= k < s.length <= 10000

来源:LeetCode(力扣)

思路

1. 如果是python的话,可以直接对字符串进行切片,然后对切片后的字符串进行拼接。

2. 遍历字符串,在将k之前的字符串保存一份为a,将k之后的字符串再保存一份b,返回b+a即可。

实现

#解法1
class?Solution(object):

????def?reverseLeftWords(self,?s,?n):
????????"""
????????:type?s:?str
????????:type?n:?int
????????:rtype:?str
????????"""
????????pre_str?=?s[:n]
????????post_str?=?s[n:]
????????return?post_str+pre_str

#解法2
class?Solution(object):
????def?reverseLeftWords(self,?s,?n):
????????"""
????????:type?s:?str
????????:type?n:?int
????????:rtype:?str
????????"""
????????pre_str?=?""
????????post_str?=?""
????????for?index,ch?in?enumerate(s):
????????????if?index?<?n:
????????????????post_str?=?post_str?+?ch
????????????else:
????????????????pre_str?=?pre_str?+?ch
????????return?pre_str+post_str

各位大神,有其他思路欢迎留言~

博主:测试生财

座右铭:专注测试与自动化,致力提高研发效能;通过测试精进完成原始积累,通过读书理财奔向财务自由。

csdn:https://blog.csdn.net/ccgshigao

博客园:https://HdhCmsTestcnblogs测试数据/qa-freeroad/

51cto:https://blog.51cto测试数据/14900374

查看更多关于测试面试LeetCode系列:字符串的左旋转的详细内容...

  阅读:33次