Leetcode-反转字符串 II

233 阅读1分钟

持续创作,加速成长!这是我参与「掘金日新计划 · 6 月更文挑战」的第30天,点击查看活动详情

学习过程中将笔记整理跟大家分享,希望对大家也有所帮助,共同成长进步💪~
如果大家喜欢,可以点赞或留言💕~~~~,谢谢大家⭐️⭐️⭐️~~~

题目:反转字符串 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

解题代码和思路如下:

/**
 * @param {string} s
 * @param {number} k
 * @return {string}
 */
var reverseStr = function(s, k) {
    let res = '';
    const n = s.length;
    for(let i = 0;i < n;i += 2 * k){
        res += s.substr(i,k).split('').reverse().join('') + s.substr(i+k,k);
    }
    return res;
};

点击前往 LeetCode 练习

感谢大家阅读⭐️⭐️⭐️,如果喜欢,可以点赞或留言哟💕💕💕
后续会持续更新记录😊~~~

专栏推荐

推荐一下自己的专栏,欢迎大家收藏关注😊~

近期热门文章