0058-leetcode算法实现之左翻转字符串-reverseLeftString-python%golang实现
2021/10/27 9:10:06
本文主要是介绍0058-leetcode算法实现之左翻转字符串-reverseLeftString-python%golang实现,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
字符串的左旋转操作是把字符串前面的若干个字符转移到字符串的尾部。请定义一个函数实现字符串左旋转操作的功能。比如,输入字符串"abcdefg"和数字2,该函数将返回左旋转两位得到的结果"cdefgab"。
示例 1:
输入: s = "abcdefg", k = 2
输出: "cdefgab"
示例 2:
输入: s = "lrloseumgh", k = 6
输出: "umghlrlose"
限制:
1 <= k < s.length <= 10000
来源:力扣(LeetCode)
链接:https://leetcode-cn.com/problems/zuo-xuan-zhuan-zi-fu-chuan-lcof
python
# 坐旋转字符串 class Solution: def reverseLeftString1(self, s: str, k: int) -> str: """ 字符串切片拼接 时间/空间O(n),效率高 :param s: :param k: :return: """ return s[k:] + s[:k] def reverseLeftString2(self, s, k): """ 列表遍历拼接,申请一次内存 :param s: :param k: :return: """ res = [] n = len(s) for i in range(k, n): res.append(s[i]) for i in range(0, k): res.append(s[i]) return ''.join(res) def reverseLeftString3(self, s, k): """ 字符串遍历拼接,与上类似, 申请n次内存,效率低 :param s: :param k: :return: """ res = "" n = len(s) for i in range(k, n): res += s[i] for i in range(0, k): res += s[i] return res if __name__ == "__main__": s = "skyisblue" k = 3 test = Solution() print(test.reverseLeftString1(s,k)) print(test.reverseLeftString2(s,k)) print(test.reverseLeftString3(s,k))
golang
package main import "fmt" func main() { s := "skyisblue" fmt.Println(reverseLeftString3(s, 3)) } // 字符串切片拼接 func reverseLeftString3(s string, k int) string { return string(s[k:]) + string(s[:k]) } // 字符拼接 func reverseLeftString2(s string, k int) string { res := "" for i := k; i < len(s); i++ { res = res + string(s[i]) } for i := 0; i < k; i++ { res = res + string(s[i]) } return res } // 切片拼接 func reverseLeftString1(s string, k int) string { res_array := []byte{} for i := k; i < len(s); i++ { res_array = append(res_array, s[i]) } for i := 0; i < k; i++ { res_array = append(res_array, s[i]) } return string(res_array) }
这篇关于0058-leetcode算法实现之左翻转字符串-reverseLeftString-python%golang实现的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-11-14获取参数学习:Python编程入门教程
- 2024-11-14Python编程基础入门
- 2024-11-14Python编程入门指南
- 2024-11-13Python基础教程
- 2024-11-12Python编程基础指南
- 2024-11-12Python基础编程教程
- 2024-11-08Python编程基础与实践示例
- 2024-11-07Python编程基础指南
- 2024-11-06Python编程基础入门指南
- 2024-11-06怎么使用python 计算两个GPS的距离功能-icode9专业技术文章分享