首页 > 其他分享 >leetcode-541. 反转字符串 II

leetcode-541. 反转字符串 II

时间:2022-12-26 22:55:30浏览次数:58  
标签:right string strBytes len II 541 swapStrBytes leetcode left

541. 反转字符串 II - 力扣(Leetcode)

比较简单,想清楚边界条件,然后做一下字符的反转即可。go 可以将不能变动的字符串转换成可以变动的 []byte 之后,修改完之后,再转成 string

func reverseStr(s string, k int) string {
	if len(s) <= 1 {
		return s
	}

	strBytes := []byte(s)

	var left, right int
	// abcdefg   2
	for ; right < len(strBytes); right++ {
		if (right-left) >= 2*k-1 || right == len(strBytes)-1 {
			if left+k-1 > len(strBytes)-1 {
				swapStrBytes(strBytes, left, len(strBytes)-1)
			} else {
				swapStrBytes(strBytes, left, left+k-1)
			}
			left = right + 1
		}
	}

	return string(strBytes)
}

func swapStrBytes(s []byte, left, right int) {
	if left >= right {
		return
	}

	for left < right {
		s[left], s[right] = s[right], s[left]
		left++
		right--
	}
}

标签:right,string,strBytes,len,II,541,swapStrBytes,leetcode,left
From: https://www.cnblogs.com/wudanyang/p/17007103.html

相关文章

  • IIS日志存放目录
    ​用户每打开一次网页,iis都会记录用户IP、访问的网页地址、访问时间、访问状态等信息,这些信息保存在iis日志文件里,方便网站管理员掌握网页被访问情况和iis服务器运行......
  • 微积分 II 笔记
    5.1定积分的概念定义定积分是积分的一种,是函数\(f(x)\)在区间\([a,b]\)上积分和的极限若\(f(x)\)在\([a,b]\)有界,在\([a,b]\)上任意插入\(n\)个分点将......
  • #yyds干货盘点# LeetCode程序员面试金典:二叉搜索树序列
    题目:从左向右遍历一个数组,通过不断将其中的元素插入树中可以逐步地生成一棵二叉搜索树。给定一个由不同节点组成的二叉搜索树 root,输出所有可能生成此树的数组。 示例1:......
  • #yyds干货盘点# LeetCode程序员面试金典:检查子树
    题目:检查子树。你有两棵非常大的二叉树:T1,有几万个节点;T2,有几万个节点。设计一个算法,判断T2是否为T1的子树。如果T1有这么一个节点n,其子树与T2一模一样,则T2为T1......
  • 2012 ASP.NET/IIS MVP
    2012年4月1日晚上收到微软的邮件,告知我的ASP.NET/IISMVPRenew成功,从2006开始已经连任ASP.NETMVP7届。从2011年4月4日开始,ASP.NET和IIS的MVP合并了......
  • iis设置 https 证书
    iishttps绑定1、进入iis导入服务器证书pfx2、双击pfx证书文件进行默认安装3、进入iis站点绑定证书 问题1:如果导入一直提示密码不正确,其实密码是对的尝试安装openss......
  • leetcode-17. 电话号码的字母组合
    17.电话号码的字母组合给定一个仅包含数字2-9的字符串,返回所有它能表示的字母组合。答案可以按任意顺序返回。给出数字到字母的映射如下(与电话按键相同)。注意1不对应......
  • vulnhub靶场之HACKABLE: III
    准备:攻击机:虚拟机kali、本机win10。靶机:Hackable:III,下载地址:https://download.vulnhub.com/hackable/hackable3.ova,下载后直接vbox打开即可。知识点:lxd提权、hydra爆......
  • Leetcode207
    numCourses->总的课程数目Prerequisited->pairinalistdenotinghavetofinishbtostudya class Solution:    def canFinish(self, numCourses: int......
  • VS2008环境下开发的某些程序在其他机器运行提示“由于应用程序配置不正确,应用程序未能
    比较全的有关vs2008部署问题集(1):http://blog.csdn.net/buhuizheyangba/article/details/7220598比较全的有关vs2008部署问题集(2):http://blog.csdn.net/fengbingchun/artic......