Interleaving String
发布日期:2021-05-13 00:13:04 浏览次数:23 分类:精选文章

本文共 1323 字,大约阅读时间需要 4 分钟。

?????????s1?s2?s3???s1?s2????????????????????????????????????????????????????????

???????

  • ??????????s1?s2????????s3?????????????False??????s1?s2???????

  • ???????????????dfs(i, j, k)???????????s1??i????s2??j??????s3??k????

  • ??????k??s3???????i?j?????????????????True??????False?

  • ???????s3[k]????s1[i]?s2[j]????????????????????????????????s1[i]???????s2[j]?

  • ?????????????????False?????????????????

  • ????

    class Solution:
    def isInterleave(self, s1, s2, s3):
    if len(s1) + len(s2) != len(s3):
    return False
    self.s1 = s1
    self.s2 = s2
    self.s3 = s3
    return self.dfs(0, 0, 0)
    def dfs(self, i, j, k):
    if k == len(self.s3):
    return i == len(self.s1) and j == len(self.s2)
    if i < len(self.s1) and self.s3[k] == self.s1[i]:
    if self.dfs(i + 1, j, k + 1):
    return True
    if j < len(self.s2) and self.s3[k] == self.s2[j]:
    if self.dfs(i, j + 1, k + 1):
    return True
    return False

    ????

    • ??????isInterleave????????s1?s2????????s3?????????????False?

    • ????????????dfs??????i=0, j=0, k=0?????s1?s2?s3??????

    • ?????dfs?????????s1?s2?s3?????????????????k?????????????i?j????????????True?False?

    • ?????????s3???????s1?s2??????????????????????????????????False?

    ??????????????????????????????????O(n)????????

    上一篇:31. Partition Array
    下一篇:Search a 2D Matrix

    发表评论

    最新留言

    第一次来,支持一个
    [***.219.124.196]2025年04月10日 15时23分24秒