题解 | #字符串加解密#
字符串加解密
http://www.nowcoder.com/practice/2aa32b378a024755a3f251e75cbf233a
golang 解法
package main
import (
"bufio"
"fmt"
"os"
)
func main() {
bs := bufio.NewScanner(os.Stdin)
isAdd := true
for bs.Scan() {
input := bs.Text()
if isAdd {
ret := add(input)
fmt.Println(ret)
isAdd = false
continue
}
ret := down(input)
fmt.Println(ret)
isAdd = true
}
}
func down(str string) string {
s := ""
for _, i := range str {
switch{
case i > 'a' && i <= 'z':
s = s + string(i-33)
case i == 'a':
s = s + "Z"
case i > 'A' && i <='Z':
s = s + string(i+31)
case i == 'A':
s = s + "z"
case i > '0' && i <= '9':
s = s + string(i-1)
case i == '0':
s = s + "9"
}
}
return s
}
func add(str string) string {
s := ""
for _, i := range str {
switch {
case i >= 'a' && i < 'z':
s = s + string(i-31)
case i == 'z':
s = s + "A"
case i >= 'A' && i < 'Z':
s = s + string(i+33)
case i == 'Z':
s = s + "a"
case i >= '0' && i < '9':
s = s + string(i+1)
case i == '9':
s = s + "0"
}
}
return s
}
小天才公司福利 1313人发布