算法2:判断两个字符串内容是否相同

详细描述
判断两个字符串的内容是否相同,指的是两个字符串中的字符是否完全一样,顺序可以不同(也可以称之为换位字符串)。比如字符串1为”abc”,字符串2为”cba”,则认为这两个字符串内容是一样的,再比如字符串1为”aba”,字符串2为”abaa”,则认为两个字符串内容不同。因此,两个字符串内容相同包含的意思就是:两个字符串长度相同,并且字符串的字符完全一样(顺序可以不同)。

分析
在算法1中,我们曾经使用了一种定桩的方式来解决找出第一个非重复的字符,有了这个经验之后,这个问题我们首先可以想到用类似的方式来处理,虽然表面上看起来没有直接的关系,算法1是一个字符串,本算法是两个字符串,但是仔细思索之后会发现两者确实是相通的,只要稍微做一些变化,就能解决本问题。
我们用定桩法来进行简单推导一下,假设有两个字符串,字符串1为”abc”,字符串2为”cba”,我们同时对两个字符串的每个字符进行遍历,如果是字符串1中的字符在桩中找到,我们对桩的值进行加1操作,如果是字符串2中的字符在桩中找到,则对桩的值进行减1操作,如果两个字符串的内容完全相同,最后桩的每一个值都应该为0,如果有任何一个值不为0,则说明两个字符串的内容不一样。
代码实现

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Simple-Soft

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值