《零基础Go语言算法实战》【题目 1-16】字符串的遍历与比较

《零基础Go语言算法实战》

【题目 1-16】字符串的遍历与比较

给出两个字符串,请编写程序以确定能否将其中一个字符串重新排列后变成另一个字符串,

并规定大小写是不同的字符,空格也作为字符考虑。保证两个字符串的长度小于或等于 5000。

【解答】

① 思路。

首先要保证字符串长度小于 5000。之后只需一次循环遍历 str1 中的字符在 str2 中是否都

存在即可。

② Go 语言实现。

func isRegroup(str1, str2 string) bool {

strLen1 := len([]rune(str1))

strLen2 := len([]rune(str2))

if strLen1 > 5000 || strLen2 > 5000 || strLen1 != strLen2 {

return false

}

for _, v := range str1 {

if strings.Count(str1, string(v)) != strings.Count(str2, string(v)) {

return false

}

}

return true

}

相关推荐
廖显东-ShirDon 讲编程1 小时前
《零基础Go语言算法实战》【题目 2-1】使用一个函数比较两个整数
算法·程序员·go语言·web编程·go web
刘争Stanley1 小时前
训练一只AI:深度学习在自然语言处理中的应用
人工智能·深度学习·算法·链表·自然语言处理·贪心算法·排序算法
竹下为生2 小时前
LeetCode---147周赛
算法·leetcode·职场和发展
巫山老妖2 小时前
读书笔记:《一本小小的红色写作书》
程序员
多多*2 小时前
后端技术选型 sa-token校验学习 下 结合项目学习 后端鉴权
java·开发语言·前端·学习·算法·bootstrap·intellij-idea
夕泠爱吃糖2 小时前
选择排序&冒泡排序
数据结构·c++·算法
ExRoc2 小时前
蓝桥杯真题 - 最大开支 - 题解
c++·算法·蓝桥杯
小冯的编程学习之路3 小时前
【LeetCode】:删除回文子数组【困难】
算法·leetcode·职场和发展
Aloha_up5 小时前
LeetCode hot100-100
算法·leetcode·职场和发展