Files
LeetCode-Go/leetcode/1694.Reformat-Phone-Number/1694. Reformat Phone Number.go
2021-01-12 11:04:25 +08:00

38 lines
643 B
Go

package leetcode
import (
"strings"
)
func reformatNumber(number string) string {
parts, nums := []string{}, []rune{}
for _, r := range number {
if r != '-' && r != ' ' {
nums = append(nums, r)
}
}
threeDigits, twoDigits := len(nums)/3, 0
switch len(nums) % 3 {
case 1:
threeDigits--
twoDigits = 2
case 2:
twoDigits = 1
default:
twoDigits = 0
}
for i := 0; i < threeDigits; i++ {
s := ""
s += string(nums[0:3])
nums = nums[3:]
parts = append(parts, s)
}
for i := 0; i < twoDigits; i++ {
s := ""
s += string(nums[0:2])
nums = nums[2:]
parts = append(parts, s)
}
return strings.Join(parts, "-")
}