update 0541.反转字符串II:补充注释

This commit is contained in:
Yuhao Ju
2022-11-26 00:07:59 +08:00
committed by GitHub
parent 45dad67adf
commit 52b0757ad4

View File

@ -294,6 +294,8 @@ func reverseStr(s string, k int) string {
ss := []byte(s) ss := []byte(s)
length := len(s) length := len(s)
for i := 0; i < length; i += 2 * k { for i := 0; i < length; i += 2 * k {
// 1. 每隔 2k 个字符的前 k 个字符进行反转
// 2. 剩余字符小于 2k 但大于或等于 k 个,则反转前 k 个字符
if i + k <= length { if i + k <= length {
reverse(ss[i:i+k]) reverse(ss[i:i+k])
} else { } else {
@ -326,7 +328,7 @@ javaScript:
var reverseStr = function(s, k) { var reverseStr = function(s, k) {
const len = s.length; const len = s.length;
let resArr = s.split(""); let resArr = s.split("");
for(let i = 0; i < len; i += 2 * k) { for(let i = 0; i < len; i += 2 * k) { // 每隔 2k 个字符的前 k 个字符进行反转
let l = i - 1, r = i + k > len ? len : i + k; let l = i - 1, r = i + k > len ? len : i + k;
while(++l < --r) [resArr[l], resArr[r]] = [resArr[r], resArr[l]]; while(++l < --r) [resArr[l], resArr[r]] = [resArr[r], resArr[l]];
} }