题解 | #字符串加解密#笨办法

字符串加解密

https://www.nowcoder.com/practice/2aa32b378a024755a3f251e75cbf233a

package main

import (
	"bufio"
	"fmt"
	"os"
	"strings"
)

func main() {
// 获取两次输入
scan:=bufio.NewScanner(os.Stdin)
scan.Scan()
first:=scan.Text()
scan.Scan()
second:=scan.Text()

fmt.Println(Encode(first))
fmt.Println(Decode(second))

}
func Encode(str string)string{
    // 遍历字符
    var res string
    for _,v:=range str{
        switch{
            case v>='a'&&v<='z':
            if v=='z'{
                res+="A"
                continue
            }
            res+=strings.ToUpper(string(v+1))

            case v>='A'&&v<='Z':
            if v=='Z'{
                res+="a"
                continue
            }
            res+=strings.ToLower(string(v+1))

            case v>='0'&&v<='9':
            if v=='9'{
                res+="0"
                continue
            }
            res+=string(v+1)
            default:
            res+=string(v)
        }
    }
    return res
}

func Decode(str string)string{
    // 遍历字符
    var res string
    for _,v:=range str{
        switch{
            case v>='a'&&v<='z':
            if v=='a'{
                res+="Z"
                continue
            }
            res+=strings.ToUpper(string(v-1))

            case v>='A'&&v<='Z':
            if v=='A'{
                res+="z"
                continue
            }
            res+=strings.ToLower(string(v-1))

            case v>='0'&&v<='9':
            if v=='0'{
                res+="9"
                continue
            }
            res+=string(v-1)
            default:
            res+=string(v)
        }
    }
    return res
}

全部评论

相关推荐

03-03 19:02
已编辑
东华理工大学 Node.js
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务