持续创作,加速成长!这是我参与「掘金日新计划 · 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 <= 104s仅由小写英文组成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 练习
感谢大家阅读⭐️⭐️⭐️,如果喜欢,可以点赞或留言哟💕💕💕
后续会持续更新记录😊~~~
专栏推荐
推荐一下自己的专栏,欢迎大家收藏关注😊~