首页 > leetcode Scramble String某个测试用例就是通不过

leetcode Scramble String某个测试用例就是通不过

class Solution(object):
    isReverse = False
    def isScramble(self, s1, s2):
        """
        :type s1: str
        :type s2: str
        :rtype: bool
        """
        if len(s1) < 3:
            return (s1 == s2) or (s1 == s2[::-1])
        # 整体翻转s2字符串
        if self.isReverse is False:
            self.isReverse = True
            if self.isScramble(s1, s2[::-1]):
                return True
        # 二叉树的最左子树为1的情况
        if self.isScramble(s1[0], s2[0]):
            if self.isScramble(s1[1:], s2[1:]):
                return True
            if self.isScramble(s1[1:], s2[1:][::-1]):
                return True
        # 二叉树最右子树为1
        if self.isScramble(s1[-1], s2[-1]):
            if self.isScramble(s1[:-1], s2[:-1]):
                return True
            if self.isScramble(s1[:-1], s2[:-1][::-1]):
                return True
        # 二叉树最右子树为2
        if self.isScramble(s1[-2:], s2[-2:]):
            if self.isScramble(s1[:-2], s2[:-2]):
                return True
            if self.isScramble(s1[:-2], s2[:-2][::-1]):
                return True
         # 二叉树最左子树为2
        if self.isScramble(s1[:2], s2[:2]):
            if self.isScramble(s1[2:], s2[2:]):
                return True
            if self.isScramble(s1[2:], s2[2:][::-1]):
                return True
        return False
Input:
"vfldiodffghyq"
"vdgyhfqfdliof"

MyOutput:false
ExceptedOutput:true 

原题链接:https://leetcode.com/problems/scramble-string/


实际编程的时候没有人帮你调试。

【热门文章】
【热门文章】