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

LeetCode541反转字符串②

在这里插入图片描述
思路:
关键是判断反转的右边界,
①当剩余字符数<k,是反转当前所有字符,右边界就是right=len-1,不可以超过len-1,会越界;
②当剩余字符数>k且<2k,反转k个字符,右边界就是right=left+k-1,
③当剩余字符数>=2k,也是反转k个字符,右边界是right=left+k-1,
可以看到,②和③的情况,右边界是一样的,也就是说我们只需要判断当前剩余字符数是否够k个就可以了,2k的情况我们不需要额外判断

char* reverseStr(char* s, int k)
{
    //
    int len=strlen(s);
    for(int i=0;i<len;i+=2*k)
    {
        //翻转
        int left=i;
        int right=(left+k-1<len)?(left+k-1):(len-1);
        while(left<right)
        {
            char tmp=s[left];
            s[left]=s[right];
            s[right]=tmp;
            left++;
            right--;
        }
    }
    return s;
}

相关文章:

  • 最简CNN based RNN源码
  • Vue.js 中 v-model 的使用及其原理
  • 注意力机制 Attention
  • 第九章:前沿 RAG 技术探索
  • 数字内容体验驱动用户参与增效
  • 图像模糊(蓝桥杯真题)
  • 习题与正则表达式
  • 以下是针对该 Ansible 任务的格式检查和优化建议
  • 项目中如何防止超卖
  • Redis高频面试题及深度解析(20大核心问题+场景化答案)
  • Python 序列构成的数组(list.sort方法和内置函数sorted)
  • PostgreSQL数据库重放攻击测试
  • 【大模型理论篇】SWIFT: 可扩展轻量级的大模型微调基础设施
  • [ctfshow web入门] web26
  • 通过发票四要素信息核验增值税发票真伪-iOS发票查验接口
  • 第12/100节:关键路径
  • HTTP GET 和 POST 请求有什么区别
  • spring-cloud-starter-alibaba-sentinel使用说明
  • linux--------------进程控制(下)
  • WPF如何修改三方控件库的样式
  • 上海交大:关注到对教师邵某的网络举报,已成立专班开展调查
  • 南通市委常委、市委秘书长童剑跨市调任常州市委常委、组织部部长
  • 普京:“胜利日停火”已开始生效
  • 视频丨习近平主席出席俄方在机场举行的迎宾仪式
  • 计划招录2577人,“国考”补录8日开始报名
  • 住宿行业迎“最火五一”:数千家酒店连续3天满房,民宿预订量创历史新高