当前位置: 首页 > news >正文

leetcode 541. 反转字符串 II

  • 题目描述
  • 解题思路
  • 执行结果
leetcode 541. 反转字符串 II


题目描述

  1. 反转字符串 II

给定一个字符串 s 和一个整数 k,从字符串开头算起,每计数至 2k 个字符,就反转这 2k 字符中的前 k 个字符。

如果剩余字符少于 k 个,则将剩余字符全部反转。 如果剩余字符小于 2k 但大于或等于 k 个,则反转前 k 个字符,其余字符保持原样。

示例 1:

输入:s = "abcdefg", k = 2
输出:"bacdfeg"

示例 2:

输入:s = "abcd", k = 2

输出:"bacd"

提示:

1 <= s.length <= 104

s 仅由小写英文组成

1 <= k <= 104

解题思路

法1

区域反转+指针\

  1. 由示例可知需要反转操作的位置是

[2n,2n+n]n>=0

  1. 定义反转操作
  • 使用双指针法,一个指向首位,一个指向末尾,交换两个位置,指针不断向中间移动,直到相等或大小关系交换(反转完成)结束.
  1. 尾部数据处理

剩余字符少于 k 个,则将剩余字符全部反转

小于 2k 但大于或等于 k 个,则反转前 k 个字符,其余字符保持原样。

简单来说就是只反转k个其他保持原样

  • 时间复杂度(O(n))
  • 空间复杂度(O(1))

执行结果

法1

func reverseStr(s string, k int) string {
    n := len(s)
    arr := []byte(s)
    for i := 0; i < n; i += 2*k {
        l := i
        r := i + k - 1
        if r >= n {
            r = n - 1
        }
        for l < r {
            arr[l], arr[r] = arr[r], arr[l]
            l++
            r--
        }
    }
    return string(arr)
}

执行结果: 通过 显示详情 查看示例代码 添加备注

执行用时: 0 ms , 在所有 Go 提交中击败了 100.00% 的用户 内存消耗: 3.2 MB , 在所有 Go 提交中击败了 68.23% 的用户 通过测试用例: 60 / 60 炫耀一下:

本文由 mdnice 多平台发布

http://www.lryc.cn/news/61493.html

相关文章:

  • java数据类型的转换以及精度丢失
  • 网络通信基础 - 多路复用技术(频分多路复用、时分多路复用、波分多路复用)
  • Baumer工业相机堡盟工业相机如何通过BGAPISDK的函数转换示Bayer格式为BGR8格式彩色图像(C++)
  • 一块钱看Android Debug: avc denied 已存在的目录不能访问
  • URL 转为QR code(二维码)
  • CentOS软件那么老为什么大家还要用它?
  • 聚观早报|飞猪:五一出游需求爆发;​特斯拉一季度盈利同比跌20%
  • Redis缓存雪崩、穿透、击穿
  • 不要老盯着ChatGPT,这几家公司的产品同样不容小觑
  • DataBinding 大坑总结(网上我暂时搜不到解决方法)
  • Linux I/O复用函数的使用情况和select接口的介绍
  • leetcode:数字转换为十六进制数(详解)
  • Android 10 设置人脸解锁时,锁屏显示人脸解锁图标
  • 【嵌入式环境下linux内核及驱动学习笔记-(5-驱动的并发控制机制)】
  • 必学宝典 黑马《最新JavaWeb开发教程》上线
  • 【社区图书馆】学习如何读书
  • CO02工单组件,新增/删除/修改
  • MIT6.824 lab3AB记录
  • 一分钟了解美国棒球体系·棒球1号位
  • 通过ObjectMapper和JsonNode 把JSON字符串转换成树结构数据和获取树节点数据
  • 鉴源论坛 · 观模丨面向界面的图形化测试技术
  • Midjourney以图生图的详细教程(含6种案例介绍)
  • 基于单片机的电路特性测试仪的设计
  • 五一将迎2亿人次出行,君子签助力旅行社合规高效签旅游电子合同
  • IAP升级遇到的问题
  • 简单聊聊k8s,和docker之间的关系
  • 半小时学会HTML5
  • 研报精选230421
  • AI绘图风格对照表/画风样稿详细研究记录及经验总结(分析Midjourney和Stable Diffusion风格提示词实际使用情况)不断更新中...
  • 人工智能论文的风格特点