开发者社区> 问答> 正文

遇到一个字符串问题,求解答

现在有两个字符串s1和s2(长度不超过 200000),Tom 是一个有强迫症的人,他想要把这两个字符串变的相同,但是每次只能删除其中一个字符串的最左端的字符,问最少需要经过多少次操作才能使这两个字符串变的相同。输入内容为两个,第一个为字符串 s1,第二个为字符串 s2。输出一个数字,表示最小的操作次数。

展开
收起
游客4skzfvnrxrzbi 2021-12-23 17:05:05 444 0
1 条回答
写回答
取消 提交回答
  • 这是一道极其简单的入门级题目,我们来梳理一下题目的结构:两个字符串变相 同 , 只有唯一的一种操作方法就是删除左侧的字符。 给出两个字符串 s1 和 s2(注意题目并没有说明两个字符串是等长的)。 image.png 当题目开始变换时,是这样的: image.png (插入为 gif 动图使用 web 模式进行浏览) 我们很容易可以看到字符串左端是变动的而字符串右端的字符是不会发生改变的,所以当满足字符相等的条件时,最右端的字符顺序是不会改变的,当字符串长度不等时会优先裁剪多出来的部分,然后再判断字符串长度,保证了字符串长度的相等,然后调整字符串大小每次都砍去头一个字符,直到剩余字符串相等。 则输入:"dadc" "dddc" 输出:4

    2021-12-23 18:53:16
    赞同 展开评论 打赏
问答地址:
问答排行榜
最热
最新

相关电子书

更多
低代码开发师(初级)实战教程 立即下载
冬季实战营第三期:MySQL数据库进阶实战 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载