zoukankan      html  css  js  c++  java
  • 测试面试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://www.cnblogs.com/qa-freeroad/

    51cto:https://blog.51cto.com/14900374

  • 相关阅读:
    Beta 冲刺 (3/7)
    软件产品案例分析(团队)
    Beta 冲刺 (2/7)
    Beta 冲刺1
    第七次作业
    第六次作业(计算器第四步)
    课堂作业二 PAT1025 反转链表
    第五次作业(计算器第三步)
    课堂作业一(16/05/04)
    Calculator(补)
  • 原文地址:https://www.cnblogs.com/qa-freeroad/p/14176653.html
Copyright © 2011-2022 走看看