现在有两个字符串s1和s2(长度不超过 200000),Tom 是一个有强迫症的人,他想要把这两个字符串变的相同,但是每次只能删除其中一个字符串的最左端的字符,问最少需要经过多少次操作才能使这两个字符串变的相同。输入内容为两个,第一个为字符串 s1,第二个为字符串 s2。输出一个数字,表示最小的操作次数。
这是一道极其简单的入门级题目,我们来梳理一下题目的结构:两个字符串变相 同 , 只有唯一的一种操作方法就是删除左侧的字符。 给出两个字符串 s1 和 s2(注意题目并没有说明两个字符串是等长的)。 当题目开始变换时,是这样的: (插入为 gif 动图使用 web 模式进行浏览) 我们很容易可以看到字符串左端是变动的而字符串右端的字符是不会发生改变的,所以当满足字符相等的条件时,最右端的字符顺序是不会改变的,当字符串长度不等时会优先裁剪多出来的部分,然后再判断字符串长度,保证了字符串长度的相等,然后调整字符串大小每次都砍去头一个字符,直到剩余字符串相等。 则输入:"dadc" "dddc" 输出:4
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。