多应用+插件架构,代码干净,二开方便,首家独创一键云编译技术,文档视频完善,免费商用码云13.8K 广告
**问题描述** 给定两个字符串,请编写程序,确定其中一个字符串的字符重新排列后,能否变成另一个字符串。 这里规定【大小写为不同字符】,且考虑字符串重点空格。给定一个 string s1 和一个 string s2,请返回一个 bool,代表两串是否重新排列后可相同。 保证两串的长度都小于等于 5000。 **解题思路** 首先要保证字符串长度小于 5000。之后只需要一次循环遍历 s1 中的字符在 s2 是否都存在即可。 **源码参考** ~~~ func isRegroup(s1,s2 string) bool { sl1 := len([]rune(s1)) sl2 := len([]rune(s2)) if sl1 > 5000 || sl2 > 5000 || sl1 != sl2{ return false } for _,v := range s1 { if strings.Count(s1,string(v)) != strings.Count(s2,string(v)) { return false } } return true } ~~~ **源码解析** 这里还是使用 golang 内置方法`strings.Count`来判断字符是否一致。