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

怀化市住房与城乡建设厅网站电商网

怀化市住房与城乡建设厅网站,电商网,山东省建设工程造价管理协会网站,出入西安最新通知今天题目描述解题思路执行结果 leetcode 541. 反转字符串 II 题目描述 反转字符串 II 给定一个字符串 s 和一个整数 k,从字符串开头算起,每计数至 2k 个字符,就反转这 2k 字符中的前 k 个字符。 如果剩余字符少于 k 个,则将剩余字符全…

  • 题目描述
  • 解题思路
  • 执行结果
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.zhongyajixie.com/news/36590.html

相关文章:

  • 西宁公司网站设计百度百度百度一下
  • 在那些网站可以接兼职做注册查询网站
  • 网站数据库丢失seo公司运营
  • 网站开发于制作总结广点通推广登录入口
  • html5手机网站制作教程网页推广方案
  • jsp做物流网站网络营销优化推广
  • 做网站选云服务器内核营销客户管理系统
  • 山东规划 建设部门的网站爱网站
  • 房产网站建设哪家好网站做成app
  • 成都网页设计的网站建设南昌网优化seo公司
  • iis 网站 500百度搜索关键词
  • wordpress 付款查看科学新概念seo外链平台
  • 网站建立seo公司资源
  • 辽宁建设银行官方网站搜索引擎优化的流程是什么
  • 自己做网站挂广告大数据下的精准营销
  • 网站建设更新维护工作杭州关键词排名工具
  • 做a小视频免费观看网站佛山做网站的公司哪家好
  • 天河网站建设系统外链群发平台
  • 做网站如何免费注册网站有哪些
  • 霍山县网站建设公司网站seo怎么做
  • 青海省住房和城乡建设厅的官方网站如何做网销
  • 无锡网站建设哪家专业各种推广平台
  • 如何做婚恋网站搜索引擎优化作业
  • 培训网址网络seo招聘
  • 域名申请备案惠州seo外包费用
  • 网站建设的资金管理培训班
  • 惠州网站制作培训baidu百度首页
  • 几百元做网站宁波网站推广营销
  • 有哪些网站可以做按摩广告语手机网站建设
  • 上线了 做商务网站百度灰色关键词排名技术