python - leetcode Scramble String某个测试用例就是通不过
PHP中文网
PHP中文网 2017-04-17 16:31:50
[Python讨论组]
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/

PHP中文网
PHP中文网

认证0级讲师

全部回复(1)
天蓬老师

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

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号