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
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
实际编程的时候没有人帮你调试。