Feat: done

This commit is contained in:
2025-10-08 19:24:13 +08:00
commit 96982b9ae9
9 changed files with 100 additions and 0 deletions

31
reverse.go Normal file
View File

@@ -0,0 +1,31 @@
package reverse
import "unicode/utf8"
func swap(a *byte, b *byte) {
*a ^= *b
*b ^= *a
*a ^= *b
}
func reverse(b []byte) {
for i := 0; i < len(b); {
_, sz := utf8.DecodeRune(b[i:])
l := i
r := i + sz - 1
for l < r {
swap(&b[l], &b[r])
l++
r--
}
i += sz
}
l := 0
r := len(b) - 1
for l < r {
swap(&b[l], &b[r])
l++
r--
}
}