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-12-20Python编程入门指南
- 2024-12-20Python编程基础与进阶
- 2024-12-19Python基础编程教程
- 2024-12-19python 文件的后缀名是什么 怎么运行一个python文件?-icode9专业技术文章分享
- 2024-12-19使用python 把docx转为pdf文件有哪些方法?-icode9专业技术文章分享
- 2024-12-19python怎么更换换pip的源镜像?-icode9专业技术文章分享
- 2024-12-19Python资料:新手入门的全面指南
- 2024-12-19Python股票自动化交易实战入门教程
- 2024-12-19Python股票自动化交易入门教程
- 2024-12-18Python量化入门教程:轻松掌握量化交易基础知识