《零基础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

}

相关推荐
凯瑟琳.奥古斯特11 分钟前
力扣1003题C++解法详解
开发语言·c++·算法·leetcode·职场和发展
计算机安禾11 分钟前
【算法分析与设计】第48篇:流算法与数据概要技术
java·服务器·网络·数据库·算法
hunterkkk(c++)17 分钟前
SPFA最短路径算法(c++)
java·c++·算法
weixin_4462608524 分钟前
HANDOFF:基于蒸馏互补教师的人形机器人任务空间整体控制
人工智能·算法·机器人
商业模式源码开发1 小时前
知识付费推三返一模式详解:规则设计、分红算法与合规架构
算法·架构·推三返一
fengfuyao9851 小时前
基于MATLAB的HHT变换完整实现(含EMD分解与三维时频谱生成)
开发语言·算法·matlab
剑挑星河月1 小时前
98.验证二叉搜索树
java·算法·leetcode
罗超驿1 小时前
16.滑动窗口经典例题:最小覆盖子串(LeetCode 76)算法原理剖析
算法·leetcode·职场和发展
luj_17681 小时前
马克思的跨学科学术体系
c语言·开发语言·c++·经验分享·算法
阿文的代码库1 小时前
干货分享|C++运算符重载知识点
java·c++·算法