我试了下面的golang代码来检查第一个字符串是否可以由第二个字符串组成。有什么可以改进的地方吗?
package main
import (
"fmt"
"strings"
)
func main() {
words := []string{"hello", "ellhoo"}
result := "NO"
s := words[0]
for i := 0; i < len(words[0]); i++ {
if strings.Contains(words[1], string(s[i])) == false {
result = "NO"
break
} else {
result = "YES"
words[1] = strings.Replace(words[1],string(s[i]),"",1)
}
}
fmt.Println(result)
}
1条答案
按热度按时间zbdgwd5y1#
在Map中记录源字符串中每个符文的计数。对于目标字符串中的每个符文,如果Map中的计数为零,则失败。减少计数。
下面是代码:
下面的示例显示了如何使用它: