当前位置: 首页 > 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.jsqmd.com/news/3119/

相关文章:

  • 9/24
  • 安装与卸载JDK8
  • 完整教程:【力扣LeetCode】 1413_逐步求和得到正数的最小值
  • mysql慢sql配置
  • Linux zdb -C (zfs Debugger调试器)
  • 从零开始实现简易版Netty(八) MyNetty 实现Small规格的池化内存分配
  • 新节点加入k8s集群命令查看 - 详解
  • 测试脚本
  • 自动化测试脚本
  • 解题报告-字符串(str.*)
  • WPF Datagrid loaded 79M items in mvvm , Microsoft.Extensions.DependencyInjection
  • 实用指南:python+django/flask的宠物救助及领养系统javaweb
  • Linux 系统中的 /dev/disk/by-id/目录作用详解
  • glTF/glb:您需要知道的一切,怎么免费获取下载
  • 3.HTTP/HTTPS:报文格式、技巧、状态码、缓存、SSLTLS握手
  • keepalived服务器
  • 外部 Tomcat 部署详细 - 实践
  • 20231326《密码系统设计》第三周预习报告
  • FortiGate连接中国联通SDWAN
  • 第五章 运算符、表达式和语句
  • 【Golang】素材设计模式
  • 学习问题日记-2
  • 封神台复现
  • 李之一的Java第一作
  • 2025.9.24 闲话:Lucas 定理究极证明
  • Are English people good or bad
  • Lampiao靶场渗透wp-脏牛提权
  • 画矩形
  • NOIP 模拟赛八
  • 第三篇