From 3427281196aadee968f41e92ca9beca7aaf81211 Mon Sep 17 00:00:00 2001 From: freshield Date: Fri, 8 Dec 2023 12:36:49 +0800 Subject: [PATCH] =?UTF-8?q?Fix:=20=E4=BF=AE=E6=AD=A3markdown=E4=B8=AD?= =?UTF-8?q?=E7=9A=84tab=E4=B8=BA=E7=A9=BA=E6=A0=BC=EF=BC=8C=E6=8E=92?= =?UTF-8?q?=E9=99=A4=E6=98=BE=E7=A4=BA=E7=9A=84=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- problems/kama54.替换数字.md | 68 ++++++++++++++++----------------- 1 file changed, 34 insertions(+), 34 deletions(-) diff --git a/problems/kama54.替换数字.md b/problems/kama54.替换数字.md index a7e0c7f0..0f8daa21 100644 --- a/problems/kama54.替换数字.md +++ b/problems/kama54.替换数字.md @@ -190,45 +190,45 @@ package main import "fmt" func replaceNumber(strByte []byte) string { - // 查看有多少字符 - numCount, oldSize := 0, len(strByte) - for i := 0; i < len(strByte); i++ { - if (strByte[i] <= '9') && (strByte[i] >= '0') { - numCount ++ - } - } - // 增加长度 - for i := 0; i < numCount; i++ { - strByte = append(strByte, []byte(" ")...) - } - tmpBytes := []byte("number") - // 双指针从后遍历 - leftP, rightP := oldSize-1, len(strByte)-1 - for leftP < rightP { - rightShift := 1 - // 如果是数字则加入number - if (strByte[leftP] <= '9') && (strByte[leftP] >= '0') { - for i, tmpByte := range tmpBytes { - strByte[rightP-len(tmpBytes)+i+1] = tmpByte - } - rightShift = len(tmpBytes) - } else { - strByte[rightP] = strByte[leftP] - } - // 更新指针 - rightP -= rightShift - leftP -= 1 - } - return string(strByte) + // 查看有多少字符 + numCount, oldSize := 0, len(strByte) + for i := 0; i < len(strByte); i++ { + if (strByte[i] <= '9') && (strByte[i] >= '0') { + numCount ++ + } + } + // 增加长度 + for i := 0; i < numCount; i++ { + strByte = append(strByte, []byte(" ")...) + } + tmpBytes := []byte("number") + // 双指针从后遍历 + leftP, rightP := oldSize-1, len(strByte)-1 + for leftP < rightP { + rightShift := 1 + // 如果是数字则加入number + if (strByte[leftP] <= '9') && (strByte[leftP] >= '0') { + for i, tmpByte := range tmpBytes { + strByte[rightP-len(tmpBytes)+i+1] = tmpByte + } + rightShift = len(tmpBytes) + } else { + strByte[rightP] = strByte[leftP] + } + // 更新指针 + rightP -= rightShift + leftP -= 1 + } + return string(strByte) } func main(){ - var strByte []byte - fmt.Scanln(&strByte) - + var strByte []byte + fmt.Scanln(&strByte) + newString := replaceNumber(strByte) - fmt.Println(newString) + fmt.Println(newString) } ````