mirror of
https://github.com/youngyangyang04/leetcode-master.git
synced 2025-07-08 16:54:50 +08:00
update 0541.反转字符串II:补充注释
This commit is contained in:
@ -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]];
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user