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

代码随想录算法训练营第八天 |344.反转字符串、541. 反转字符串II、LCR 122. 路径加密

344.反转字符串

思路:双指针一个从后一个从前遍历,然后依次调换他们指向的元素。
func reverseString(s []byte)  {l := 0r := len(s) - 1for l < r{tmp := s[l]s[l] = s[r]s[r] = tmpr--l++}
} 

541. 反转字符串II

func reverseStr(s string, k int) string {for index := 0;index < len(s);index++{if index % (2*k) == 0{start := indexend := index + k -1if end > len(s) - 1{end = len(s) - 1}s = reverseString(s,start,end)}}return s
}
// reverseString 反转字符串s中从start到end(包含)的部分,并返回反转后的字符串
func reverseString(s string, start int, end int) string {// 将字符串转换为[]rune以支持Unicode字符(如中文、 emoji等)runes := []rune(s)l, r := start, endfor l < r {// 交换左右指针指向的字符runes[l], runes[r] = runes[r], runes[l]l++r--}// 将[]rune转换回字符串并返回return string(runes)
}

  翻转后k个字符,然后每移动了2k字符翻转一次,小心边界条件

541. 路径加密

扫描。然后换成空格

    func pathEncryption(path string) string {runes := []rune(path)for i,i2 := range runes{if i2 == '.'{runes[i] = ' '}}return string(runes)}

  

http://www.hskmm.com/?act=detail&tid=16173

相关文章:

  • 9/24
  • 安装与卸载JDK8
  • mysql慢sql配置
  • Linux zdb -C (zfs Debugger调试器)
  • 从零开始实现简易版Netty(八) MyNetty 实现Small规格的池化内存分配
  • 测试脚本
  • 自动化测试脚本
  • 解题报告-字符串(str.*)
  • Linux 系统中的 /dev/disk/by-id/目录作用详解
  • glTF/glb:您需要知道的一切,怎么免费获取下载
  • keepalived服务器
  • P8818 [CSP-S 2022] 策略游戏
  • FortiGate连接中国联通SDWAN
  • 第五章 运算符、表达式和语句
  • 学习问题日记-2
  • 封神台复现
  • 李之一的Java第一作
  • 2025.9.24 闲话:Lucas 定理究极证明
  • Are English people good or bad
  • 9
  • Lampiao靶场渗透wp-脏牛提权
  • 画矩形
  • NOIP 模拟赛八
  • 第三篇
  • 基于cloacked-pixel隐写工具爆破项目
  • 随便写的
  • Bcliux-docker-nacos2.2.0升级至2.2.3版本
  • 社交网络架构。京东场景题:亿级用户100Wqps 社交关系如何设计?如何查看我的关注,关注我的?
  • go 面试题
  • 事件和图形界面(暂未完成)