1.从键盘获取一个字符串,判断这个字符串是否为回文
方法一:
package main
import (
"bufio"
"fmt"
"os"
"strings"
)
func main() {
//1.从键盘获取一个字符串,判断这个字符串是否为回文
//方法一:
reader := bufio.NewReader(os.Stdin)
fmt.Println("开始从键盘输入")
line, _ := reader.ReadString('\n')
line = strings.TrimSpace(line)
flag := true
j := len(line)
for i := 0; i < len(line); i++ {
if line[i] == line[j-i-1] {
continue
} else {
flag = false
}
}
if flag {
fmt.Println("是回文")
} else {
fmt.Println("不是回文")
}
}
方法二:
package main
import (
"bufio"
"fmt"
"os"
"strings"
)
func main() {
//方法二:
reader := bufio.NewReader(os.Stdin)
fmt.Println("开始从键盘输入")
line, _ := reader.ReadString('\n')
line = strings.TrimSpace(line)
line2 := ""
for i := 0; i < len(line); i++ {
line2 = string(line[i]) + line2
}
if line == line2 {
fmt.Println("是回文")
} else {
fmt.Println("不是回文")
}
}
2.字符串压缩 “aaabbccaadd” --》a3b2c2a2d2
package main
import (
"bufio"
"fmt"
"os"
"strings"
)
func main() {
//2.字符串压缩 “aaabbccaadd” --》a3b2c2a2d2
reader := bufio.NewReader(os.Stdin)
fmt.Println("开始从键盘输入")
line, _ := reader.ReadString('\n')
line = strings.TrimSpace(line)
line2 := ""
count := 1
for i := 1; i < len(line); i++ {
if line[i] == line[i-1] {
count++
} else {
line2 = line2 + string(line[i-1]) + string(count+'0')
count = 1 //重置计数器
}
}
// 处理最后一个字符的压缩结果
line2 += string(line[len(line)-1]) + fmt.Sprintf("%d", count)
fmt.Println("压缩后的字符串是:", line2) //输出压缩后的字符串
}
583

被折叠的 条评论
为什么被折叠?



